以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > XRP > Info

區塊鏈:區塊鏈研究實驗室 | 使用JavaScript編譯和部署以太坊智能合約

Author:

Time:1900/1/1 0:00:00

以太坊智能合約的發展在2018年呈指數級增長,2019年似乎將遵循這一趨勢。有些框架,如Truffle,可以幫助我們快速構建和維護智能合約,如果您想讓親自動手體驗的話,我將解釋如何編譯您的智能合約,并使用自己的腳本將其部署到以太坊網絡。

注意:我將使用簡單的智能合約,因為本文的目的只是展示如何編譯和部署腳本。

項目具有以下結構:

文件夾合同包含我們的智能合約。對于這篇文章,我們將使用兩個簡單的智能合約:

MyContractA.sol

MyContractA.sol

如您所見,我們有兩個文件,其中一個包含兩個智能合約,證明我們可以擁有任意數量的智能合約。

腳本編譯

現在,一旦我們有了初始項目結構和智能合約,就可以開始構建編譯腳本了。

德勤區塊鏈全球首席技術官Antonio Senatore加入唯鏈基金會戰略決策委員會:9月18日謝謝,德勤區塊鏈全球首席技術官及德勤EMEA區塊鏈實驗室負責人Antonio Senatore加入唯鏈基金會戰略決策委員會Antonio Senatore在領導德勤歐洲、中東和非洲區塊鏈業務期間,負責德勤區塊鏈的技術路線圖與實驗室技術架構等。Antonio表示,加入唯鏈基金會戰略決策委員會后將致力于為唯鏈基金會引入更多資源。[2021/9/18 23:34:24]

該腳本的目的是為每個合約生成一個JSON,每個JSON都包含已編譯的合同信息。這些JSON將存儲在名為build/的輸出路徑中

構建腳本的步驟如下:

創建構建/目錄。

獲取我們的合同來源。

編譯合同并將輸出寫入文件。

動態 | 工信部信息化和軟件服務業司將大力推動區塊鏈和經濟社會深度融合:金色財經報道,12月25日,2019新型數字基礎設施峰會在北京舉辦。工業和信息化部信息化和軟件服務業司副司長董大健參加并致辭。當前,以信息技術加速創新與融合滲透為突出特征的新一輪科技革命和產業變革正在蓬勃興起。區塊鏈作為多種IT技術的集成應用,對于構建我國安全可控信息技術體系,支撐經濟高質量發展、提升國家治理體系和治理能力現代化水平,具有非常重要的意義。下一步,部信息化和軟件服務業司將深入貫徹落實習近平總書記在中央局第十八次集體學習上的重要講話精神,加快推進區塊鏈技術產業創新發展,大力推動區塊鏈和經濟社會深度融合。一是跟蹤分析前沿動態,加快完善頂層設計;二是加強區塊鏈核心技術研發,持續提高創新能力;三是加快應用落地步伐,推動區塊鏈與實體經濟融合;四是建立健全標準體系,構建完善產業生態;五是著力強化安全保障,引導產業健康發展。 來自區塊鏈領域的專家、企業、科研院所等代表參加會議。[2019/12/31]

第1步-創建build/文件夾。

聲音 | 平安壹賬通陸一帆:區塊鏈讓銀行更敢對中小企業融資:“2019數字金融年度峰會”于12月20日在清華大學經濟管理學院舉行。現場召開“區塊鏈應用展望”為主題的圓桌論壇,平安集團壹賬通區塊鏈業務總經理陸一帆談區塊鏈如何服務中小企業融資難。

陸一帆表示,中小企業融資難的本質原因在于,銀行根本不信任中小企業提供的數據,無法全面了解企業的融資情況。可能這家企業已經同時在多家金融機構融資,但是多方數據又不能或者不愿意共享。平安壹賬通要做的是在進行交叉驗證的前提下驗證數據的真實性,讓銀行更有信心對中小企業融資,在數據不完全共享的情況下達到共享的效果。[2019/12/20]

這一步是最簡單的,因為我們只需要了解JavaScript的一些基礎知識。

現在要將所有文件的來源都放到智能合約文件夾中。在這一步中,只需要JavaScript就不需要以太坊概念,但還是有點復雜。

聲音 | PeckShield創始人蔣旭憲:安全事故節奏太快是區塊鏈業內最大問題:針對區塊鏈安全服務行業的生存現狀,派盾科技PeckShield創始人蔣旭憲認為目前行業最大的問題是安全事故節奏太快。其表示,首先,現在的區塊鏈安全行業,攻擊者是強于安全保護者的,甚至強于生態建設者。第二,整個行業還處在野蠻生長階段,空氣幣、傳銷甚至跑路,都給真正做事的那一方增加了輿論壓力。第三,區塊鏈行業本身門檻比較高,為了發展又需要接納新用戶和開發者,所以有產品落地的問題。[2019/1/4]

對于contracts文件夾中的每個文件,我們在sources對象中添加一個新字段,其中鍵是文件名,值是.sol文件的內容。

第3步-編譯并寫入輸出

現在我們已經有了輸出文件夾和智能合約的內容,是時候編譯它們了。

首先,我們必須定義一個對象,該對象將作為Solidity編譯器的信息輸入。

language:我們智能合約的編程語言,目前是使用Solidity,但你也可以選擇其他編程語言。

sources:我們合同的內容。

settings:此選項告訴編譯器我們想要生成哪些輸出字段。對于此示例,我選擇sources中的所有文件生成abi和evm.bytecode。這兩條信息是部署階段所必需的。

一旦我們有了編譯器的配置對象,我們就可以執行它了。

第一行獲取一個包含我們編譯的腳本的對象。兩個for循環允許我們在不同的JSON文件中存儲單個.sol文件中的智能合約。

最后一步是把這三部分連接在一起

這樣我們就完成了編譯腳本。如果我們運行它,項目結構應該如下所示:

我們已經gitignoredbuild文件夾,因為沒有意義在Git下跟蹤它。

現在我們已經編輯了我們的智能合約,是時候將它們部署到區塊鏈上了。

腳本部署

是時候將我們的智能合約部署到以太坊區塊鏈上了。

首先,我們需要兩件事來將智能合約部署到區塊鏈:

解鎖帳戶:由于我們需要使用gas來發送將創建智能合約的交易。

連接到區塊鏈的節點:我們正在向網絡發送交易,因此我們需要連接到鏈上。

關于第一點,我們將使用HDWalletProvider,這個工具允許我們使用助記符十二個單詞短語解鎖帳戶并連接到以太坊節點。但是......節點在哪里?好吧,我們可以做兩件事,運行我們自己的以太坊節點或使用Infura。Infura是一項服務,它允許我們連接到以太坊網絡,而無需運行我們自己的以太坊節點。所以,我們似乎已經涵蓋了兩點。

解鎖帳戶并連接到以太坊節點。

要使用Infura,我們需要在其頁面中注冊。它將生成我們需要使用其服務的API密鑰。

我們將使用Web3JS與區塊鏈進行交互。Web3需要提供程序來連接節點并與節點交互。這個提供程序是HDWalletProvider,我們來配置它和Web3。

HDWalletProvider的第一個參數是我們的12個單詞助記詞。這個短語允許提供者解鎖帳戶,第二個參數告訴提供者以太網節點在哪里,在這種情況下我們通過Infura連接。

最后我們在web3中設置了提供者。

通過正確配置web3,我們可以最終部署合同。

首先,我們需要我們編譯的腳本。

然后,在第8行中,我們使用Web3API創建智能合約,并將智能合約的接口傳遞給它。接下來,我們需要創建一個包含智能合約信息的部署事務:

data:合同的字節代碼。它以0x開頭表示它是十六進制的。

arguments:我們的智能合約構造函數的參數。

創建事務后,我們將其發送到以太坊區塊鏈,以便為節點處理它:

from:簽署交易并發送的帳戶。在第4行中,我們獲得了HDWalletProvider生成和解鎖的帳戶以及12個單詞短語。

gas:我們想要用于發送交易的最大gas量。

第18行的console.log對于獲取部署合同的地址很重要,這樣我們將來可以將其用于DAPP、用于其他合同等。

腳本的最后一行告訴提供程序結束與以太坊節點的連接。

如果我們執行腳本,一段時間后,我們將獲得如下跟蹤:

現在我們可以訪問EtherScan并查看我們在區塊鏈中部署的智能合約。

最后,我們已經部署了智能合約,并且每個人都可以訪問。我希望這篇文章有所幫助。

Tags:區塊鏈以太坊SOLWEB3什么是區塊鏈技術以太坊最新價格行情價SolChicks Tokenweb3游戲平臺

XRP
AND:KAN Coming To Bitfinex On June 18th

OnTuesday,June18th,BitfinexwillintroducetradingfortheBitKanexchangetoken,KAN.

1900/1/1 0:00:00
staking崛起背后:低門檻引流 獲礦池錢包扶持 眾多項目參與助推

從挖礦的歷史和產業成熟度看,PoW挖礦占據了絕對的話語權。但隨著Cosmos、Polkadot等熱門公鏈紛紛采用PoS機制,以太坊PoS時代Casper的上線進程日近,PoS的想象力已被大大拉升.

1900/1/1 0:00:00
UST:假名、老賴、威脅投資者 比特易合伙人張歆彤何以如此無法無天?

6月12日晚,我們發布了《惠軼“自殺”背后竟然與張歆彤有莫大的關聯?》的文章,既拆穿了比特易合伙人張歆彤的彌天大謊,也讓大家看到了她實力甩鍋的真相.

1900/1/1 0:00:00
星云鏈:通證回購:熊市助跌,牛市助漲

原創:數鏈評級團隊 一般情況,上市公司不得收購本公司股份。各國公司法都會對公司擁有本公司股份進行限制,原則上禁止.

1900/1/1 0:00:00
FORT:解讀Ampleforth:一個會熱脹冷縮的加密貨幣系統

當一個加密貨幣的價格是穩定的,你會想到什么?在加密貨幣的市場中尋找結果,你一定會想到穩定幣。這個“價格穩定”的加密貨幣項目即是Bitfinex第一個IEO項目Ampleforth.

1900/1/1 0:00:00
區塊鏈:迅雷聯手港科大 粵港澳大灣區區塊鏈合作加速快跑

文丨互鏈脈搏·元尚 未經授權,不得轉載! 6月17日,迅雷集團與香港科技大學(以下簡稱“港科大”)正式宣布成立香港科技大學-迅雷區塊鏈聯合實驗室.

1900/1/1 0:00:00
ads