国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

NFT盲盒商城系統dapp開發合約編程

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

掃碼添加小助手

加入工程師交流群

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

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

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

編程語言

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

智能合約

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

業務邏輯

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

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

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

Python

Java

Ruby

Haskell

Rust

DApp原理

一個DApp被調用之前需要先部署到以太坊上,不管是私鏈,公鏈還是聯盟鏈。故本章節分為兩部分,DApp部署原理和調用原理。

部署

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

poYBAGMIMgiAUsAnAACAoMXM-Yc576.png

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

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

編譯器返回合約字節碼。

發送合約字節碼和初始化參數到以太坊節點。

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

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

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

調用

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

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

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

審核編輯 黃昊宇

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

    關注

    90

    文章

    3716

    瀏覽量

    97184
  • 區塊鏈
    +關注

    關注

    112

    文章

    15577

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

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

    埋孔線路板加工工藝介紹

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

    MCU單片機TWS耳機充電系統控制方案

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

    物聯網平臺應用環境監控:低代碼零編程簡化開發,組態應用

    傳統環境監控系統開發常陷入兩難困境,企業開發周期長、開發維護成本貴,基層運維人員不懂技術,遇到參數調整只能依賴IT團隊。而物聯網平臺驅動的環境監控系統,以低代碼零
    的頭像 發表于 08-29 15:33 ?898次閱讀

    多層PCB孔與埋孔工藝詳解

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

    天地蓋制機PLC數據采集解決方案

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

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

    音樂芯片方案開發音樂盒,作為一種融合藝術與機械智慧的精巧物件,散發著獨特魅力。它以靈動的音符為載體,承載著人們的情感、回憶與祝福。從孩童手中開啟夢幻世界的木質八音,到戀人間傳遞愛意的精致音樂
    的頭像 發表于 06-05 15:29 ?876次閱讀
    音樂<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路徑?
    發表于 05-23 08:01

    索尼FCB-EV9520L機芯:商城智能監控系統的技術革新者

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

    20倍變焦+智能編碼:FCB-ER8530破局商城監控「全域無

    在日均客流量超5萬人次的大型商業綜合體中,傳統監控系統常陷入"看得見但看不清"的困局——收銀臺前顧客手勢遮擋密碼輸入、停車場立柱后車輛剮蹭逃逸、中庭活動區人群踩踏風險預警滯后……索尼
    的頭像 發表于 04-28 15:59 ?808次閱讀

    探秘叁仟智設備:智慧城市的智能樞紐

    科技有限公司旗下的重要產品。這家公司作為中國智慧路燈桿行業發展引領者,是一家集科研開發、生產經營、技術服務、系統集成于一體的高新技術企業。叁仟智設備是其智慧路燈桿軟硬件系統平臺的重要
    的頭像 發表于 04-27 16:20 ?560次閱讀

    電源的應用場景

    電源的應用場景非常廣泛,主要包括以下幾個方面: ?特定設備驅動?: 電源被用于驅動特定設備,如普克爾等。這種電源通常具有特定的設計,如推拉鎖緊插座、監控接口等,以提高安全性和便
    的頭像 發表于 03-07 10:24 ?1211次閱讀

    電源輸出信號類型

    S7-1200等PLC(可編程邏輯控制器)的電源,通常提供直流電壓輸出,如24V DC,用于為CPU、I/O模塊等內部組件供電?1。 ? 交流電壓(AC) ?:雖然不如直流電壓常見,但一些特殊應用場景下,電源也會提供交流電壓
    的頭像 發表于 03-07 10:20 ?1378次閱讀