Payable
Web 應用程序呼叫帶參數的應付函式
假設我們有一個帶有如下應付函式的合約:
function join(address sender) payable {};
所以我有一個使用者加入,由地址是地址的展示者邀請。我想創建一種人們可以與我的智能合約互動的方式,最好是一個網路應用程序,但我該怎麼做呢?由於功能需要一些乙太傳輸,使用者如何將他自己的地址連接到我的應用程序?
定義 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 將為您創建帳戶並確保一切安全。
這只是一個快速概述如何做到這一點。我希望它有所幫助。