Solidity

如何在不同文件中的合約之間共享結構定義?

  • June 19, 2020

我不能在自己的文件中聲明一個獨立的結構,這是什麼?

你可以用圖書館!這是一個例子:

pragma solidity ^0.4.17;

library SharedStructs {
   struct Thing {
       address[] people;
   }    
}

contract A {
   SharedStructs.Thing thing;
}

contract B {
   SharedStructs.Thing thing;
}

要記住兩件重要的事情:1)庫被部署到鏈上,然後被其地址引用,2)庫充當真正的傳遞,這意味著 msg.sender(和相關值)引用原來的來電者。

更多資訊和細節在這裡:http ://solidity.readthedocs.io/en/develop/contracts.html#libraries

引用自:https://ethereum.stackexchange.com/questions/27259