http://truffleframework.com/tutorials/pet-shopの例では、次のコントラクトがあり、関数adopt(uint petId)
にはパラメーターが 1 つしかありません。
contract Adoption {
address[16] public adopters;
function adopt(uint petId) public returns (uint) {
require(petId >= 0 && petId <= 15);
adopters[petId] = msg.sender;
return petId;
}
function getAdopters() public returns (address[16]) {
return adopters;
}
}
ただし、javascript コードapp.js
では、handleAdopt
関数は次のコードを使用してコントラクト関数を呼び出します。
App.contracts.Adoption.deployed().then(function(instance) {
adoptionInstance = instance;
return adoptionInstance.adopt(petId, {from: account});
})
この関数は、余分なオブジェクトで呼び出されます{from: account}
。なんで?そして、このパラメータは堅牢性コードで破棄されますか?
ところで、未定義のグローバル変数がありますweb3
か? 値は MetaMask 拡張機能によって割り当てられますか?