国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

區(qū)塊鏈智能合約開(kāi)發(fā)學(xué)習(xí)

這篇具有很好參考價(jià)值的文章主要介紹了區(qū)塊鏈智能合約開(kāi)發(fā)學(xué)習(xí)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

最近正在肝區(qū)塊鏈知識(shí)學(xué)習(xí),入手學(xué)習(xí)智能合約的開(kāi)發(fā),由于網(wǎng)上資料實(shí)在是太少了,好不容易東拼西湊完成了智能合約的開(kāi)發(fā)、編譯、部署、web3js調(diào)用(網(wǎng)頁(yè)頁(yè)面)和web3j調(diào)用(java調(diào)用),趕緊趁熱把重點(diǎn)提煉出來(lái)。

先上圖,是我最近學(xué)習(xí)知識(shí)點(diǎn)的一個(gè)概括總結(jié),此外還包含了關(guān)鍵命令和操作步驟。

區(qū)塊鏈智能合約開(kāi)發(fā)學(xué)習(xí)

我智能合約開(kāi)發(fā)的技術(shù)選型是Solidity+web3j+Java,工具選型是VSCode+solcjs+web3js+web3j+Ganache

開(kāi)發(fā)智能合約的關(guān)鍵步驟:

    • 開(kāi)發(fā)語(yǔ)言

      • 90.4%用Solidity,7.2%用Vyper其他小眾語(yǔ)言可忽略,因此開(kāi)發(fā)智能合約主流選用Solidity,這也是我學(xué)習(xí)語(yǔ)言
    • 合約開(kāi)發(fā)環(huán)境必備

      • nodejs(其他所有前置)
      • vscode
      • vscode的Solidity插件
      • ganache的appx或ganache-cli
        • 提供測(cè)試網(wǎng)絡(luò),部署合約必要
      • vscode的solcjs插件,用于命令行將.sol編譯出.abi和.bin,web3j前一步必要?jiǎng)幼鳎敵龊蟮膫z文件使用web3j生成.java
      • web3j工具(.bat執(zhí)行一次即可,用于生成java可以調(diào)用的合約代碼)
        • web3j此外還可以創(chuàng)建錢(qián)包,執(zhí)行web3j create 命令按幫助指引
      • truffle(npm安裝,用于編譯運(yùn)行智能合約)
      • metamask的chrome瀏覽器插件,用于瀏覽器錢(qián)包功能,當(dāng)web客戶(hù)端“寫(xiě)操作”時(shí)需調(diào)用有錢(qián)錢(qián)包
    • 客戶(hù)端準(zhǔn)備

      • web客戶(hù)端(Vue項(xiàng)目)
        • web3.js腳本引用,用于提供web3訪問(wèn)接口
        • abi.js存放合約abi內(nèi)容,用于提供合約接口
      • java客戶(hù)端(SpringBoot或其他后臺(tái)項(xiàng)目)
        • pom依賴(lài)引用:org.web3j,junit
        • XX.java合約java版代碼
      • 客戶(hù)單可以執(zhí)行的操作
        • 合約的部署或加載已有合約,合約調(diào)用,讀操作,寫(xiě)操作(寫(xiě)操作與讀不同,需要關(guān)聯(lián)有錢(qián)的錢(qián)包)
    • 開(kāi)發(fā)命令

      • 創(chuàng)建合約
        • VSCODE命令行:在工程空目錄當(dāng)前執(zhí)行truffle init,即可初始化項(xiàng)目應(yīng)有文件夾目錄
        • VSCODE命令行:truffle create contract hello,創(chuàng)建一個(gè)hello.sol的合約文件
      • 編譯
        • VSCODE命令行:truffle compile
      • 部署
        • VSCODE命令行:truffle migrate
      • 訪問(wèn)合約
        • 命令行方式:VSCODE命令行:truffle consolelet h=await hello.deployed()h.sayHello()h.addRecord("hh")h.getRecord()
        • java后端方式
          • 在vscode控制臺(tái).sol所在目錄執(zhí)行:solcjs --bin --abi hello.sol -o ./
          • 在sol所在目錄打開(kāi)cmd,執(zhí)行(執(zhí)行前本目錄會(huì)有.bin和.abi兩個(gè)文件)web3j solidity generate --javaTypes hello_sol_hello.bin hello_sol_hello.abi -o ./ ?-p com.test
          • 將sol同目錄的java代碼拷貝到j(luò)ava工程中即可進(jìn)行合約調(diào)用
          • 初始化代碼:配置好合約地址contract address和錢(qián)包秘鑰(錢(qián)包秘鑰用ganache中提供的測(cè)試賬號(hào)小鑰匙秘鑰串即可用)
        • vue前端方式
          • 引用文件web3.js,abi.js(abi.js內(nèi)容為合約abi內(nèi)容是一個(gè)json文本段)
          • 添加包web3
    • 環(huán)境安裝命令

      • truffle
        • npm install -g truffle
      • web3j
        • 運(yùn)行web3j.bat文件后命令行可跑 web3j XXX命令

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-417238.html

到了這里,關(guān)于區(qū)塊鏈智能合約開(kāi)發(fā)學(xué)習(xí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包