以太坊智能合約的發展在2018年呈指數級增長,2019年似乎將遵循這一趨勢。有些框架,如Truffle,可以幫助我們快速構建和維護智能合約,如果您想讓親自動手體驗的話,我將解釋如何編譯您的智能合約,并使用自己的腳本將其部署到以太坊網絡。
注意:我將使用簡單的智能合約,因為本文的目的只是展示如何編譯和部署腳本。
項目具有以下結構:
文件夾合同包含我們的智能合約。對于這篇文章,我們將使用兩個簡單的智能合約:
MyContractA.sol
MyContractA.sol
如您所見,我們有兩個文件,其中一個包含兩個智能合約,證明我們可以擁有任意數量的智能合約。
腳本編譯
現在,一旦我們有了初始項目結構和智能合約,就可以開始構建編譯腳本了。
Jump Crypto多位專家離職成立區塊鏈初創企業Douro Labs并與Pyth合作:金色財經報道,加密貨幣做市商Jump Crypto的一批專家已經離職,成立了一家新的軟件公司,專注于開發基于區塊鏈的金融數據饋送項目。
據周二的一份聲明稱,前Jump員工Mike Cahill、Jayant Krishnamurthy和Ciaran Cronin共同創辦了Douro Labs公司,與基于區塊鏈的數據服務Pyth Network密切合作。Douro Labs的一位代表表示,這個由19人組成的團隊包括來自Jump加密團隊的另外6人,他們已經在為Pyth工作。Pyth的數據貢獻者包括Virtu和Cboe等公司。[2023/9/5 13:17:30]
該腳本的目的是為每個合約生成一個JSON,每個JSON都包含已編譯的合同信息。這些JSON將存儲在名為build/的輸出路徑中
多家金融科技公司更新招聘信息 美團挖掘區塊鏈相關人才:3月15日,多家金融科技公司更新招聘信息,其中,建信金科、美團還在“挖掘”區塊鏈相關人才。其招聘崗位主要包括金融業務HRBP-產研方向、金融研究員、區塊鏈產品經理等,根據描述,金融研究員主要跟蹤金融行業監管政策,并結合業務經營進行解讀,給出合理經營建議;區塊鏈產品經理則負責探索區塊鏈技術在美團各業務場景的應用價值,設計適用于行業場景的區塊鏈產品,并推動落地實施等,要求有三年以上產品經驗,有金融/供應鏈、計算機相關專業背景等。(騰訊網)[2020/3/16]
構建腳本的步驟如下:
創建構建/目錄。
獲取我們的合同來源。
編譯合同并將輸出寫入文件。
第1步-創建build/文件夾。
金色獨家 區塊鏈聯合發展組織秘書長張海暉:各國政府對區塊鏈和ICO的監管還處于早期探索階段:金色財經獨家專訪,近日,針對區塊鏈行業的監管問題,區塊鏈聯合發展組織秘書長張海暉表示,區塊鏈和加密貨幣是密不可分的,通過Token機制,區塊鏈很好的實現了信息流和價值流的統一,各個國家都鼓勵區塊鏈的創新發展,但具體的監管措施存在很大的不確定性,像早期英國在汽車領域的《紅旗法案》一樣,如今在區塊鏈領域很多國家也依然存在類似這樣的法案。所以各國政府對區塊鏈和ICO的監管,其實還是處于探索階段,有時松有時緊,隨著相關的發展,最終會變得越來越合理。[2018/6/17]
這一步是最簡單的,因為我們只需要了解JavaScript的一些基礎知識。
現在要將所有文件的來源都放到智能合約文件夾中。在這一步中,只需要JavaScript就不需要以太坊概念,但還是有點復雜。
數字經濟之父”Don Tapscott:現在區塊鏈確實有很多的炒作,現在有三種不同的泡沫:今日,2018年中國國際大數據產業博覽會在貴陽正式開幕。數字經濟之父”Don Tapscott表示現在區塊鏈確實有很多的炒作。但是20年之后,我們會更多的去討論區塊鏈,可能討論的比現在更多。“我覺得有三種不同的泡沫,一種是關于加密貨幣的,很多貨幣他們都是垃圾貨幣。第二個還有ICO,人們都會說ICO都是泡沫,很多ICO都是垃圾,很多都會失敗。第三個是關系到整個區塊鏈,這個不是一個泡沫,這只是一個小小的種子。這在將來將會成為一個經濟操作的系統,運營的系統。所以從監管的角度來說還是很難做的。[2018/5/26]
對于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并查看我們在區塊鏈中部署的智能合約。
最后,我們已經部署了智能合約,并且每個人都可以訪問。我希望這篇文章有所幫助。
昨天的幣市可以說是迷茫中帶點平靜,BTC、ETH、EOS、BCH、LTC幾個主流幣種也漲跌不一,波動并不大,主要還是市場謹慎情緒作怪,市場對幣市大盤比特幣的短期走向存疑.
1900/1/1 0:00:00據外媒消息,印度政府部門正在就《禁止加密貨幣和官方監管數字貨幣2019年法案》進行討論,一旦通過這個法案,在印度持有、購買、出售比特幣等數字貨幣都是犯罪行為,且刑罰非常嚴厲.
1900/1/1 0:00:000、概述 核心技術進展:在鏈系統、測試鏈、SDK和官方工具等四方面進行技術更新官網更新:在官網更新上線三款錢包和三款游戲.
1900/1/1 0:00:006月17日消息,比特大陸前CEO吳忌寒的新公司Matrix將上線,其主營業務很可能包括交易所、礦場和Tokenfund三大領域,涉及發幣、投資、數字貨幣抵押借貸等.
1900/1/1 0:00:00文|淺白 日前,工信部向三大運營商及中國廣電,發放了5G商用牌照。5G時代已經到來。業內認為,5G技術將帶來一個千億美元的新市場。與此同時,鏈圈也迎來一片歡呼,“區塊鏈5G”概念再次火爆.
1900/1/1 0:00:00作者LiangCHE 加密投資基金Grayscale近日發布了數字資產投資報告,報告中對2019年第一季度的數據進行了分析.
1900/1/1 0:00:00