色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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這么方便的工具可調用,因此要是調用公鏈上的智能合約,只能使用特定賬戶的私鑰簽名方法后,并且以該賬戶的身份調用合約

審核編輯 黃昊宇

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

    關注

    88

    文章

    3623

    瀏覽量

    93798
  • 區塊鏈
    +關注

    關注

    111

    文章

    15562

    瀏覽量

    106227
收藏 人收藏

    評論

    相關推薦

    華為云 Flexus 云服務器 X 實例部署——抽獎商城系統以及編譯發布小程序

    抽獎商城系統使用 thinkphp6.0 + uniapp 開發,做到了全移動端兼容。一個系統
    的頭像 發表于 12-31 10:36 ?166次閱讀
    華為云 Flexus 云服務器 X 實例部署——<b class='flag-5'>盲</b><b class='flag-5'>盒</b>抽獎<b class='flag-5'>商城</b><b class='flag-5'>系統</b>以及編譯發布小程序

    HDI埋孔工藝及制程能力你了解多少?

    HDI技術通過 增加埋孔來實現高密度布局 ,適用于高端服務器、智能手機、多功能POS機和安防攝像機等領域。通訊和計算機行業對HDI線路板需求較高,推動了科技的進步。目前,HDI板在國內市場的前景
    發表于 12-18 17:13

    PCB孔加工控制成本的方法

    PCB孔加工控制成本的方法 PCB孔加工的成本控制是一個多方面的過程,涉及設計、加工、測試等多個環節。以下是一些有效的方法來幫助控制孔加工的成本: 1. 設計成本控制 簡化設計:盡量簡化
    的頭像 發表于 11-23 16:34 ?218次閱讀
    PCB<b class='flag-5'>盲</b>孔加工控制成本的方法

    dap協議在DApp開發中的作用

    隨著區塊鏈技術的不斷發展,去中心化應用(DApp)逐漸成為技術領域的熱門話題。DApp以其去中心化、透明性和安全性的特點,為用戶和開發者提供了新的應用模式。在這一背景下,DAP協議應運而生,為
    的頭像 發表于 11-22 15:43 ?233次閱讀

    機遠程監控運維管理系統方案

    ,數之能了一種封機遠程監控運維管理系統方案。 痛點分析 1、實時監控困難:設備分散在不同地點,難以實時監控運行狀態,導致故障發現不及時。 2、維護成本高:設備出現故障時,需要技術人員現場排查,增加了人力成本和
    的頭像 發表于 11-15 13:54 ?140次閱讀

    HDI板孔制作常見缺陷及解決

    HDI板是一種高密度互連印刷電路板,其特點是線路密度高、孔徑小、層間連接復雜。在HDI板的制作過程中,孔的制作是一個關鍵步驟,同時也是常見的缺陷發生環節。以下是根據搜索結果總結的HDI板孔制作的常見缺陷及其解決方法。
    的頭像 發表于 11-02 10:33 ?280次閱讀

    MCU編程語言和開發環境介紹

    微控制器單元(Microcontroller Unit,簡稱MCU)是嵌入式系統的核心,廣泛應用于各種電子產品中。隨著技術的發展,MCU編程語言和開發環境也在不斷進步,以適應不同的應用需求。 1.
    的頭像 發表于 11-01 11:51 ?829次閱讀

    如何判斷/埋孔HDI板有多少“階”?

    /埋孔HDI板概述/埋孔HDI(HighDensityInterconnect,高密度互連)板是一種高級的印刷電路板技術,它通過使用微小的孔和埋孔來提高電路板上的布線密度。這種技術特別適用于
    的頭像 發表于 11-01 08:03 ?305次閱讀
    如何判斷<b class='flag-5'>盲</b>/埋孔HDI板有多少“階”?

    如何判斷/埋孔HDI板有多少“階”?

    /埋孔HDI板概述 /埋孔HDI (High Density Interconnect,高密度互連)板是一種高級的印刷電路板技術,它通過使用微小的孔和埋孔來 提高電路板上的布線密度
    發表于 10-23 18:38

    孔在HDI線路板中的作用

    孔在HDI線路板中起到增加連接密度、改善電氣性能、增強機械穩定性和提升制造效率的作用。1、增加連接密度優化空間利用:孔穿透PCB的部分層,能在有限空間內有效連接外層和相鄰內層,支持高密度布局
    的頭像 發表于 10-23 17:43 ?434次閱讀
    <b class='flag-5'>盲</b>孔在HDI線路板中的作用

    孔PCB線路板加工流程

    孔PCB線路板的加工流程是一個復雜的過程,涉及到多個步驟和技術。以下是埋孔PCB線路板加工流程的詳細解釋。
    的頭像 發表于 09-07 09:42 ?821次閱讀

    pcb設計中孔和過孔的區別?

    在PCB設計中,孔和過孔是兩種常見的孔類型,它們在電路板的制造過程中起著重要的作用。 定義 孔(Blind Vias):孔是一種連接外層和內層但不穿透整個PCB板的孔。它的一端連接
    的頭像 發表于 09-02 14:47 ?1112次閱讀

    Linux 驅動開發與應用開發,你知道多少?

    一、Linux驅動開發與應用開發的區別開發層次不同:Linux驅動開發主要是針對硬件設備進行編程,處于操作
    的頭像 發表于 08-30 12:16 ?833次閱讀
    Linux 驅動<b class='flag-5'>開發</b>與應用<b class='flag-5'>開發</b>,你知道多少?

    fpga開發需要掌握哪些編程語言

    FPGA(現場可編程門陣列)開發涉及多種編程語言和技術.
    的頭像 發表于 03-27 14:34 ?1519次閱讀

    基于單片機的導拐杖設計

    電子發燒友網站提供《基于單片機的導拐杖設計.rar》資料免費下載
    發表于 01-12 09:43 ?12次下載
    主站蜘蛛池模板: 国产亚洲精品 在线视频 香蕉| 久久天堂网| 欧美日韩中文在线字幕视频| 2020年国产精品午夜福利在线观看| 狂野猛交xxxx吃奶| WWW国产精品人妻一二三区| 色噜噜噜亚洲男人的天堂| 国产欧美一区二区精品久久久| 亚洲另类国产综合在线| 美女白虎穴| 国产Av男人的天堂精品良久| 亚洲精品国偷拍自产在线观看蜜臀 | h片下载地址| 我与旗袍老师疯狂床震| 久久久精品国产免费A片胖妇女| Chineseman瘦老头77| 羞羞漫画免费漫画页面在线看漫画秋蝉 | 看免费人成va视频全| 超碰在线视频公开| 亚洲午夜精品一区二区公牛电影院 | 少妇高潮久久久久7777| 精品久久免费视频| oldgrand欧洲老妇人| 亚洲精品乱码电影在线观看| 美艳人妻在厨房翘着屁股| 国产精品成人啪精品视频免费观看| 伊人久久大香线蕉综合网站 | 体育生爆操| 蜜桃TV成人网站免费打开| 国产精品AV无码免费播放| 2021国产精品国产精华| 小护士大pp| 青青娱乐网| 久久无码AV亚洲精品色午夜麻豆| 动漫美女搞鸡| 最新国产三级在线不卡视频| 我与旗袍老师疯狂床震| 欧美gay69| 久久秋霞理伦片| 果冻传媒 在线播放观看| 不卡的在线AV网站|