Payable

Web 應用程序呼叫帶參數的應付函式

  • May 14, 2018

假設我們有一個帶有如下應付函式的合約:

function join(address sender) payable {};

所以我有一個使用者加入,由地址是地址的展示者邀請。我想創建一種人們可以與我的智能合約互動的方式,最好是一個網路應用程序,但我該怎麼做呢?由於功能需要一些乙太傳輸,使用者如何將他自己的地址連接到我的應用程序?

您可以使用web3Metamask

定義 web3 變數,這允許你與你的合約互動

var web3 = new Web3(new Web3.providers.HttpProvider("your ethereum node")); 

要訪問合約的功能,您需要功能的定義(ABI)

ABI = "put here your contract ABI"

然後你可以創建你的合約實例:

var Contract = web3.eth.contract(ABI);
var contractInstance = Contract.at('address of your contract')

現在您可以訪問您的契約的功能,例如功能連接:

contractInstance.join.("the_adress", {from:address, value:web3.toWei("Amount",'ether')},(function(err,result){})

這假設使用者有一個帳戶。Metamask 將為您創建帳戶並確保一切安全。

這只是一個快速概述如何做到這一點。我希望它有所幫助。

引用自:https://ethereum.stackexchange.com/questions/48456