Solidity
與已部署的合約互動:如何根據 Open Zeppelin 標準鑄造代幣
請原諒在我看來是一個基本問題,因為我對此很陌生:
我正在使用 truffle 框架來部署智能合約。使用 Open zeppelin 標準代幣,我發布了SampleCrowdsale.sol合約:連結
我已經成功地在Ropsten 區塊鏈上得到了它,但據我所知,這就是我所知道的。除了向合約發送乙太幣之外,我如何與合約互動?
作為所有者,我如何呼叫作為MintableToken.sol合約一部分的mint函式?
謝謝你。
如果您使用名稱 SampleCrowdsale 部署了智能合約,例如使用
var mycrowdsale = SampleCrowdsale.deployed();
然後你可以訪問函式 mint():
mycrowdsale.mint(to, amount);
以to作為接收者地址和創建的令牌數量。
您還可以檢查它是否適用於:
mycrowdsale.mint(to, amount).then(function(balanceOf(to)) { // If this callback is called, the call was successfully executed. // Note that this returns immediately without any waiting. // Let's print the return value. console.log(balance.toNumber()); }).catch(function(e) { // There was an error! Handle it. })
balanceOf 是一個標準的 ERC20 函式。
您可以查看我以範例為例的與您的契約互動的教程。
erc20ContractName receiver = erc20ContractName(contractAddress); var isOkToCall = receiver.tokenFallback(msg.sender, _value, _data); var myBalance = receiver.balanceOf(msg.sender);
多態性/如何與已部署的合約互動/ERC20 代幣…如何在已部署的合約中呼叫函式/如何呼叫已部署的代幣 ERC20 合約可靠性
請參閱類似問題:ERC223 標準實現中的此程式碼如何工作?