2017-12-17 13 views
0

ソリッドのオブジェクトの構成はどのように機能しますか?包括的なガイドは見つかりませんでした。すべての例は、世界のレベルのものやERC20トークンの実装に対応しているようです。ソリッドのオブジェクトの構成

  1. 私は他の契約である公共財産権を持つ契約を結ぶことができますか?
  2. これらのコントラクトインスタンスは、契約間で関数の引数として渡せますか?これらの質問の両方へ
+0

これはhttps://ethereum.stackexchange.comに掲載する必要がありますので、私は投票することにしました。それは、配備された契約を指し示すアドレスを使用すると言いました。これは、プロパティに格納したり、適切な通りに回ったりすることができます。 –

答えて

1

はい - 説明するための簡単な例次のようなものになります。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契約(setSaleAuctionAddresssetSiringAuctionAddress)が含まれています。これらの機能は、それぞれ別々に配備されたSaleClockAuctionSiringClockAuction契約への参照を設定します。

関連する問題