chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

NFT盲盒商城系統(tǒng)dapp開發(fā)合約編程

搭建punk2558 ? 來源:搭建punk2558 ? 作者:搭建punk2558 ? 2022-08-26 10:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

以太坊私鏈,也就是搭建屬于自己的區(qū)塊鏈,最常見的方式就是通過Geth(Go-Ethereum)搭建了,他可以算是比較真實的區(qū)塊鏈平臺了,唯一區(qū)別就是不需要挖礦,也就是不需要共識,Geth搭建私鏈時,我們需要配置創(chuàng)世塊、bootnode、啟動節(jié)點、挖礦等操作,搭建私鏈教程可點擊此處。

測試環(huán)境中的公鏈,一些組織為了讓開發(fā)者更方便的開發(fā)DApp,搭建了自己的以太坊平臺并對外開放,這些測試平臺的以太幣可以免費獲取,但每個賬戶獲取的數(shù)量有限,不過也足以我們用來測試了,在下文的實踐中用的也是這種方案。而測試平臺有哪些呢,在我們安裝了MetaMask插件以后,可以在里面找到。

以太坊,最后的環(huán)境肯定是以太坊了,不過我們在上線前一定要做好測試,因為區(qū)塊鏈具有不可篡改性,我們的DApp在上線后出bug可是無法修復的,只能通過發(fā)布一個新的DApp,然后通知你的用戶以后使用新地址,所以我們在設計合約時應當設置有無效標志位,盡早地告知調(diào)用者該合約已經(jīng)廢棄。

編程語言

編寫一個DApp可以說是包括兩部分,合約部分和業(yè)務邏輯部分。

智能合約

Solidity,類JavaScript,這是以太坊推薦的語言,也是最流行的智能合約語言,另外測試、調(diào)試Solidity有一個非常好的在線IDE–Remix,由以太坊團隊推出的。由于考慮在線網(wǎng)絡比較慢,可以使用本地IDE。

業(yè)務邏輯

業(yè)務邏輯部分即提供客戶端與智能合約交互的接口,相當于目前BS結構中的后臺邏輯,因此業(yè)務邏輯部分可部署在中心服務器中,而且在以太坊中每個智能合約函數(shù)的每一行代碼都有固定的gas費用以及延時的,一些簡單的邏輯應該交由業(yè)務邏輯處理,編寫業(yè)務邏輯目前提供有以下幾種語言:

JavaScript,主要是基于Web3.js這個庫調(diào)用智能合約,本文例子也是使用JavaScript編寫的。

Go,上述提到的以太坊私鏈搭建工具geth就是使用Go編寫的。

Python

Java

Ruby

Haskell

Rust

DApp原理

一個DApp被調(diào)用之前需要先部署到以太坊上,不管是私鏈,公鏈還是聯(lián)盟鏈。故本章節(jié)分為兩部分,DApp部署原理和調(diào)用原理。

部署

一個DApp由多個智能合約組成,部署一個DApp也就是同時部署多個智能合約,這里講述一下部署一個智能合約的流程,如下圖所示。

poYBAGMIMgiAUsAnAACAoMXM-Yc576.png

將編寫好的Solidity智能合約通過RPC調(diào)用以太坊錢包或Web3.js等工具。

Web3.js發(fā)送合約源碼到部署在以太坊節(jié)點的Solc編譯器。

編譯器返回合約字節(jié)碼。

發(fā)送合約字節(jié)碼和初始化參數(shù)到以太坊節(jié)點。

以太坊節(jié)點上EVM驗證完成后,部署到全網(wǎng)的所有節(jié)點,完成后返回合約地址和應用二進制接口(ABI)。

這里推薦使用Remix進行部署,因為Remix不僅可以連接瀏覽器內(nèi)嵌的以太坊VM,還可以和MetaMask聯(lián)動,使用MetaMask當前所連的以太坊網(wǎng)絡,而且Remix還可以調(diào)試部署好的合約,十分方便。在Remix上部署十分簡單,選擇部署的以太坊網(wǎng)絡和填好合約初始化參數(shù)后,點擊create按鈕即可。如果我們選的是MetaMask當前的以太坊網(wǎng)絡,則會跳轉(zhuǎn)交易界面,因為部署合約本質(zhì)上也是一筆交易,我們需要付交易手續(xù)費。

部署后的合約其實外部還不能調(diào)用,還需要我們上傳源代碼進行驗證,不然別人不可能在不清楚源碼情況下向合約發(fā)起交易,向你轉(zhuǎn)賬。

調(diào)用

部署好的合約我們就可以調(diào)用了,根據(jù)調(diào)用方式的不同,本文分為前端調(diào)用和后端調(diào)用。

前端調(diào)用相對來說簡單一點,因為有MetaMask這個強大的插件,我們不必操心以太坊數(shù)據(jù)源,直接調(diào)用web3.currentProvider即可,下圖展示了前端調(diào)用合約的一般流程,由于前端連接的Web3 Provider是與特定的以太坊節(jié)點相連,前端不需要管方法的簽名,只需無腦調(diào)用合約中的方法即可。

至于后臺調(diào)用就麻煩一點了,由于后臺沒有MetaMask這么方便的工具可調(diào)用,因此要是調(diào)用公鏈上的智能合約,只能使用特定賬戶的私鑰簽名方法后,并且以該賬戶的身份調(diào)用合約

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程
    +關注

    關注

    90

    文章

    3724

    瀏覽量

    97455
  • 區(qū)塊鏈
    +關注

    關注

    112

    文章

    15578

    瀏覽量

    111206
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何通過精準孔檢測降低PCB報廢率?

    隨著PCB行業(yè)向高密度、高性能快速演進,孔質(zhì)量已成為影響產(chǎn)品合格率的關鍵。一個微小的孔壁缺陷、鍍層不均或殘留物問題,都可能導致整批產(chǎn)品報廢,造成巨大的材料與時間損失。本文將深入探討如何通過精準的
    的頭像 發(fā)表于 04-16 10:01 ?156次閱讀
    如何通過精準<b class='flag-5'>盲</b>孔檢測降低PCB報廢率?

    AI預測如何賦能城市二次供水系統(tǒng)智能化

    在城市供水系統(tǒng)的末端,隱藏著一個被長期忽視的“”——二次供水泵房。
    的頭像 發(fā)表于 04-02 09:05 ?648次閱讀
    AI預測如何賦能城市二次供水<b class='flag-5'>系統(tǒng)</b>智能化

    五階孔印制電路板的典型工藝流程

    本文以五階孔印制電路板為研究對象,圍繞逐次增層法制備流程,系統(tǒng)闡述微孔激光成形、超高厚徑比孔電鍍填孔、層間精密對位三大核心技術。通過優(yōu)化 UV+CO?復合激光參數(shù)、脈沖電鍍體系與分區(qū)域標靶對位
    的頭像 發(fā)表于 03-17 09:28 ?831次閱讀
    五階<b class='flag-5'>盲</b>孔印制電路板的典型工藝流程

    Bamtone班通:孔顯微鏡有哪些行業(yè)應用?能解決什么問題?

    孔顯微鏡主要用于對各種材料和器件中的“孔/埋孔”進行放大觀察、測量和缺陷分析,典型場景集中在PCB、電路封裝、半導體和精密機械等行業(yè)。作為國內(nèi)領先的PCB測量儀器、智能檢測設備等專業(yè)解決方案
    的頭像 發(fā)表于 01-05 17:25 ?718次閱讀
    Bamtone班通:<b class='flag-5'>盲</b>孔顯微鏡有哪些行業(yè)應用?能解決什么問題?

    如何選擇適合的埋孔技術?

    選擇埋孔技術需綜合考慮以下因素: 1. 技術類型與適用場景 一階埋孔?:適合8層以下PCB,如消費電子主板,成本較低但僅支持單層連接?。 二階埋孔?:用于10層以上PCB(如服務器、高端顯卡
    的頭像 發(fā)表于 12-04 11:19 ?615次閱讀
    如何選擇適合的<b class='flag-5'>盲</b>埋孔技術?

    別再讓光纜故障“開”!廣州郵科這套系統(tǒng),讓運維從玄學變科學

    網(wǎng)絡就像城市的“數(shù)字神經(jīng)”,但傳統(tǒng)的運維方式卻像是在“開”——故障何時發(fā)生、發(fā)生在哪段、什么原因,全靠經(jīng)驗和運氣。 今天,我要認真安利 廣州郵科的 光纜監(jiān)測系統(tǒng) 。用了它,我們運維團隊終于從“救火隊員”變成了“
    的頭像 發(fā)表于 12-02 10:04 ?475次閱讀
    別再讓光纜故障“開<b class='flag-5'>盲</b><b class='flag-5'>盒</b>”!廣州郵科這套<b class='flag-5'>系統(tǒng)</b>,讓運維從玄學變科學

    埋孔線路板加工工藝介紹

    埋孔線路板加工工藝是實現(xiàn)高密度互聯(lián)(HDI)板的核心技術,其制造流程復雜且精度要求極高。
    的頭像 發(fā)表于 11-08 10:44 ?2002次閱讀

    MCU單片機TWS耳機充電系統(tǒng)控制方案

    TWS(True Wireless Stereo,真無線立體聲)耳機已成為主流音頻設備,其充電系統(tǒng)設計對整體使用體驗至關重要。由于耳機內(nèi)部空間有限,無法容納大容量電池及充電元件,因此需要通過專用
    的頭像 發(fā)表于 11-05 09:22 ?545次閱讀

    pcb四層板中為什么加很多的孔,有什么作用

    pcb四層板中為什么加很多的孔有什么作用
    的頭像 發(fā)表于 09-06 11:32 ?1358次閱讀

    物聯(lián)網(wǎng)平臺應用環(huán)境監(jiān)控:低代碼零編程簡化開發(fā),組態(tài)應用

    傳統(tǒng)環(huán)境監(jiān)控系統(tǒng)開發(fā)常陷入兩難困境,企業(yè)開發(fā)周期長、開發(fā)維護成本貴,基層運維人員不懂技術,遇到參數(shù)調(diào)整只能依賴IT團隊。而物聯(lián)網(wǎng)平臺驅(qū)動的環(huán)境監(jiān)控系統(tǒng),以低代碼零
    的頭像 發(fā)表于 08-29 15:33 ?1101次閱讀

    多層PCB孔與埋孔工藝詳解

    多層PCB孔與埋孔工藝詳解 一、基本定義與區(qū)別 孔(Blind Via)? 僅連接PCB表層(TOP/BOTTOM)與相鄰內(nèi)層,不貫穿整個板子,例如8層板中連接L1-L3層?。 通過激光鉆孔實現(xiàn)
    的頭像 發(fā)表于 08-29 11:30 ?2285次閱讀

    天地蓋制機PLC數(shù)據(jù)采集解決方案

    動作一次性完成的特點。 隨著工業(yè)4.0與智能制造的推進,企業(yè)對設備管理、生產(chǎn)效率、質(zhì)量控制的需求日益提升。然而,傳統(tǒng)制機依賴人工巡檢和經(jīng)驗維護,存在以下痛點: 數(shù)據(jù)孤島:設備PLC(可編程邏輯控制器)數(shù)據(jù)無法實時采
    的頭像 發(fā)表于 06-13 16:41 ?906次閱讀

    音樂芯片方案——N9305音樂芯片

    音樂芯片方案開發(fā)音樂盒,作為一種融合藝術與機械智慧的精巧物件,散發(fā)著獨特魅力。它以靈動的音符為載體,承載著人們的情感、回憶與祝福。從孩童手中開啟夢幻世界的木質(zhì)八音,到戀人間傳遞愛意的精致音樂
    的頭像 發(fā)表于 06-05 15:29 ?1032次閱讀
    音樂<b class='flag-5'>盒</b>芯片方案——N9305音樂芯片

    如果 PD 合約不匹配,BCR 是否仍會打開 SINK_FET_EN POWER_DRILL2GO路徑?

    BCR 具有 SINK_FET_EN 和 SAFE_PWR_EN 引腳來控制POWER_DRILL2GO消耗路徑。 如果 PD 合約不匹配,BCR 是否仍會打開 SINK_FET_EN POWER_DRILL2GO路徑?或者只打開 SAFE_PWR_EN POWER_DRILL2GO路徑?
    發(fā)表于 05-23 08:01

    索尼FCB-EV9520L機芯:商城智能監(jiān)控系統(tǒng)的技術革新者

    在零售行業(yè)數(shù)字化轉(zhuǎn)型的浪潮中,商城監(jiān)控系統(tǒng)正從傳統(tǒng)的“事后追溯”向“實時預警”升級。索尼FCB-EV9520L一體化攝像機模組憑借其卓越的低延時傳輸、高精度光學變焦及智能圖像處理能力,成為新一代商城
    的頭像 發(fā)表于 05-07 17:48 ?822次閱讀