次のコントラクトをコンパイルしてtestrpcにデプロイしています。
pragma solidity ^0.4.4;
contract Adoption {
address[] public adopters;
function adopt(uint petId) public returns (uint) {
require(petId >= 0 && petId <= 15);
adopters[petId] = msg.sender;
return petId;
}
}
それから私はターミナルに行き、そして:
truffle compile
truffle migrate --reset
すべてが期待どおりに機能します。次に、トリュフコンソールでadopt()を呼び出そうとします。
truffle(development)> const adoption = Adoption.deployed()
// undefined
truffle(development)> adoption.adopt(1).then(console.log)
// TypeError: adoption.adopt is not a function
私が試してみると:
truffle(development)> Adoption.deployed()
.then((instance) => {instance.adopt(1)})
.then(console.log)
// Error: VM Exception while processing transaction: invalid opcode
私のアプローチの何が問題になっていますか?どうすればadopt()を呼び出すことができますか?
adoption
コンソール内のオブジェクトを検査します。メソッドが名前空間の下にあることに気付くでしょうcontract
。次のような関数を呼び出します。
adoption.contract.adopt(1)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加