深入分析uniswap去中心化交易所流動性質押挖礦系統開發(web3.0技術原始碼)

Tg_StPv888發表於2023-02-15

 元宇宙是上層建築,Web3.0是基礎設施,元宇宙和Web3.0均代表網際網路的未來,Web3.0是技術發展方向的未來,元宇宙是應用場景和生活方式的未來,二者之間是相輔相成、一體兩面的依存關係。Web3.0技術方向包含了區塊鏈、人工智慧、大資料等技術創新和DAO(即使用者共識社群)網路組織模式創新。在元宇宙中,AR/VR解決元宇宙前端的技術需要,而Web3.0在後端提供強有力的技術支撐。

  使用deploy方法構建和部署智慧合約:

  YourSmartContract contract=YourSmartContract.deploy(

  <web3j>,<credentials>,GAS_PRICE,GAS_LIMIT,

  [<initialValue>,]

  <param1>,...,<paramN>).send();

  這將使用提供的憑證和建構函式引數值在以太坊區塊鏈上建立智慧合約的新例項。

  引數僅在您的智慧合約在構建時接受Ether時才需要。這需要在合同中出現Solidity應付修改器。

  它返回一個新的智慧合約包裝例項,其中包含智慧合約的底層地址。如果您希望使用現有智慧合約構建智慧合約包裝器的例項,只需傳入它的地址:

  YourSmartContract contract=YourSmartContract.load(

  "0x<address>|<ensName>",web3j,credentials,GAS_PRICE,GAS_LIMIT);

  部署智慧合約並與之互動¶

  如果您想避免使用智慧合約的底層實現細節,Web3j提供了Solidity智慧合約包裝器,使您能夠透過生成的包裝器物件直接與智慧合約的所有方法進行互動。

  或者,如果您希望傳送常規交易或更好地控制您與智慧合約的互動,請參閱Solidity智慧合約包裝器、與智慧合約進行交易和查詢智慧合約狀態以瞭解詳細資訊。

  Solidity智慧合約包裝器¶

  Web3j支援從Solidity ABI檔案自動生成Java中的智慧合約函式包裝器。

  Web3j命令列工具工具附帶一個命令列實用程式,用於生成智慧合約函式包裝器:

  $web3j generate solidity-hV[-st]-a=<abiFile>[-b=<binFile>]-o=<destinationFileDir>-p=<packageName>

  -h,--help Show this help message and exit.

  -V,--version Print version information and exit.

  -jt,--javaTypes use native java types.Default:true

  -st,--solidityTypes use solidity types.

  -a,--abiFile=<abiFile>abi file with contract definition.

  -b,--binFile=<binFile>optional bin file with contract compiled code in order to generate deploy methods.

  -o,--outputDir=<destinationFileDir>destination base directory.

  -p,--package=<packageName>base package name.

  是合同有效性所必需的

  在Web3j 3.x之前的版本中,生成的智慧合約包裝器使用原生Solidity型別。從Web3j 3.x開始,Java型別是預設建立的。您可以使用–solidityTypes命令列引數建立Solidity型別。

  從Web3j版本4.6.x開始,生成器支援ABIv2用於使用Solidity編譯器版本0.6.x編譯的合約。這意味著您可以在智慧合約中將結構作為輸入/輸出/事件引數。

  您還可以透過直接呼叫Java類來生成包裝器:

  org.web3j.codegen.SolidityFunctionWrapperGenerator-b/path/to/<smart-contract>.bin-a/path/to/<smart-contract>.abi-o/path/to/src/main/java-p com.your.organisation.name

  根據編譯Solidity原始碼獲得bin和abi的位置


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70016646/viewspace-2935358/,如需轉載,請註明出處,否則將追究法律責任。

相關文章