1. 程式人生 > >我連敲3年程式碼, 工資卻不如剛入職的TA!

我連敲3年程式碼, 工資卻不如剛入職的TA!

以太坊讓世人第一次知道了智慧合約的概念,為了支援智慧合約,以太坊必須把自己變的特別像一臺計算機,那麼全球的節點連線到一起,怎麼能像一個計算機呢?那就是使用 EVM(以太坊虛擬機器)技術,讓每個節點的連結串列上可以執行智慧合約的指令。全球的以太坊節點連線起來,也就形成了全球計算機。

對有一定程式設計經驗的人來說,Solidity 開發絕對不是什麼難事。Solidity 確實極容易上手,但是確實有很多細節需要注意的。一個智慧合約是怎樣部署到以太坊網路的呢?

640?wx_fmt=png

以太坊智慧合約可以通過編輯器經過rpc遠端呼叫(預設用8545埠)釋出到geth節點上,最終在以太坊網路中執行。

眾所周知,我們在以太坊上執行智慧合約是需要消耗 gas 的,也就是說沒有以太是不能執行的,這對很多童鞋來說表示難以理解。其實這涉及到經濟系統的利益問題,我們執行了一個指令,整個網路都要同步資料,而這些指令是需要礦工進行打包交易的,如果礦工的利益不能保證,最後也就將導致整個網路無人維護。

那麼問題又來了,礦工有利益,開發者的收益如何實現呢?這就要具體問題具體分析,有些需求是為了保證資料儲存在區塊鏈上永不丟失,這個是儲存類價值。對於開發者來說,開發出來爆款的 DApp 就是最大的收益,參考之前火爆的加密貓。

TPS 較低也是阻礙區塊鏈發展的一大原因,這是區塊鏈的架構決定,達成共識方面本就需要時間。作為應用的開發者來說,應該讓使用者有更好的體驗。對於一個未確認的交易,我們可以採用監控事件的方式進行處理,這就是一個非同步模式,這個事件其實類似於我們平常寫程式裡經常使用的 print。

合約程式碼如下:

640?wx_fmt=png

js程式碼中新增事件的處理(map_event.js)

640?wx_fmt=png

執行時啟動geth需要注意引數:

geth --datadir ./data --networkid 15 --port 30303 --rpc --rpcaddr 0.0.0.0 --rpcport 8545 --rpcvhosts "*" --rpcapi 'db,net,eth,web3,personal' --rpccorsdomain "*" --ws --wsaddr "localhost" --wsport "8546" --wsorigins "*" --nat "any" --nodiscover --dev --dev.period 1 console 2> 1.log

執行效果如下:

640?wx_fmt=png

如何從0到1 ,轉型區塊鏈?

有人說區塊鏈即未來,準備好成為一名區塊鏈工程師了嗎?最後做個軟廣,而為了避免漫無目且零散地學習,在這裡,我推薦下文中柏鏈道捷和 CSDN 學院聯合出品《以太坊DApp高薪實戰》,通過 2 個月的系統學習,目標是成為優秀的區塊鏈工程師(不是套路,僅為推薦)。

課程內容由區塊鏈通證派孟巖領銜專門化課程研發隊伍,緊密對接以太坊官方資源,封閉自主研發課程體系與專案案例,萃取精華內容,保證知識體系連貫、系統,邏輯嚴密,學習路徑最優。

聯絡 CSDN 學院區塊鏈老師,獲取一對一專屬服務

(包括:IT 職場規劃服務/專屬折扣)

640?wx_fmt=png

(我們的課程服務)

☟☟☟

640?wx_fmt=png

聯絡 CSDN 學院區塊鏈老師,獲取一對一專屬服務

(包括:IT 職場規劃服務/專屬折扣)

640?wx_fmt=png

推薦閱讀

點選“閱讀原文”,快速報名