ソリッドのオブジェクトの構成はどのように機能しますか?包括的なガイドは見つかりませんでした。すべての例は、世界のレベルのものやERC20トークンの実装に対応しているようです。ソリッドのオブジェクトの構成
- 私は他の契約である公共財産権を持つ契約を結ぶことができますか?
- これらのコントラクトインスタンスは、契約間で関数の引数として渡せますか?これらの質問の両方へ
ソリッドのオブジェクトの構成はどのように機能しますか?包括的なガイドは見つかりませんでした。すべての例は、世界のレベルのものやERC20トークンの実装に対応しているようです。ソリッドのオブジェクトの構成
はい - 説明するための簡単な例次のようなものになります。HelperContract
を展開し、[今すぐに配備HelperContractのアドレスでMainContract
のインスタンスを作成する際
contract HelperContract {
function foo() public pure returns(uint) {
return(0);
}
}
contract MainContract {
HelperContract helperContract;
function MainContract(address helperAddress) public {
helperContract = HelperContract(helperAddress);
}
function bar() public view returns(uint) {
return helperContract.foo();
}
}
を、我々はbar
と呼ぶことができ、これはfoo
となる。
このコードをコピーしてremixにコピーして、それが非常に迅速に行われることを確認できます。
Hello world!
タイプ以外の実際の例を表示する場合は、ソースhereを参照してください。そこで、このタイプのパターンが使用されます。
これはかなり掘り下げるコードですが、KittyAuction
契約(setSaleAuctionAddress
とsetSiringAuctionAddress
)が含まれています。これらの機能は、それぞれ別々に配備されたSaleClockAuction
とSiringClockAuction
契約への参照を設定します。
これはhttps://ethereum.stackexchange.comに掲載する必要がありますので、私は投票することにしました。それは、配備された契約を指し示すアドレスを使用すると言いました。これは、プロパティに格納したり、適切な通りに回ったりすることができます。 –