2

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 拡張機能によって割り当てられますか?

4

1 に答える 1