如何成為區塊鏈的主人

有人說區塊鏈食物鏈的頂端是挖礦,其實不管是作為礦工也好,還是礦老闆也好,也都是這個生態中的韭菜而已。食物鏈的頂端是專案方。

如何成為區塊鏈的主人

比如說最近很火的shib,他就是以太坊上面發的一個專案。今天我們來科普一下,如何在以太坊上釋出一個自己的專案,因為我們後面的影片需要用到這個知識,所以需要先大家瞭解一下如何釋出一個區塊鏈專案。

以太坊之所以興起,離不開智慧合約的貢獻,它可以讓一個普通人能夠低成本的在區塊鏈的網路中去創業,我們通常如果要做一個專案需要些什麼呢?以開發一個app 為例,你需要一個前端,一個後端一個魚蛙設計人員可能還需要一個產品經理、測試架構師運營和運維等等。為了避免上述人員生病請假。起碼每個崗位還需要配置2到3個人接替。不算打掃衛生的阿姨和水電費,房租一年的人工開支起碼都要五六十萬。

而以太坊可能只需要一個人幾行程式碼,加上幾百元,就能實現上面一個團隊的工作量。我們想釋出一個以太坊的專案首先需要寫一個智慧合約,有人會覺得智慧合約要寫程式碼,你對程式碼不瞭解,所以一定寫不來。但是以太坊上面的合約程式碼是一個叫做solidity 的語言寫的,簡單來說吧。你奶奶來寫都能寫。廢話不多說,我們來直接。

看一下怎麼去寫,這個是我們之前發的一個測試專案,因為我們發到了是unit sweep 上面的,unit sweep 上面的專案必須是要釋出原始碼的。我們在control 的頁切當中可以找到原始碼,把它複製出來,放到remarks 編輯器中。聰明的你應該就發現。如果你覺得哪個專案很厲害,你想做個山寨的,直接拷過來程式碼,改一下名字就好了。我們可以看到在這個合約的構造函數里面有這麼幾個變數,分別是名字元號、小數和總髮行量。

所以你只需要改這幾個引數就可以發。我自己的專案名字就是你這個專案的全稱符號,就是專案的縮寫小數就是你希望這個幣可以分成多少份,最後就是總髮行量這樣基本就完成了。合一中有幾個重點我要說一下,有幾個著名的漏洞保護,防止被惡意。攻擊首先是對整數溢位的問題做了一個保護。整數溢位是一個很經典的漏洞,一般攻擊者都會去掃描這個漏洞。如果程式碼寫的有問題,會整個專案的資產遭受重大打擊,整數溢位攻擊。簡單理解就是類似儲存餘額的一些變。如果超出了它的最大值,它就會變成0 ,超出了它的最小值,它就會變成一個最大數。那麼駭客是怎麼利用這個漏洞來對合約做攻擊的呢?

如何成為區塊鏈的主人

我們來看這段合約程式碼, 這個amount 是由外部傳出的引數運算所得出來的值。如果說我們把外部傳進來的這個value 調整到一個很大的值,超出了amount 型別最大可接受的範圍,那麼這個amount 就會溢位變成0 。而在下面具體轉賬判斷的時候。因為mount 為0 ,所以使得調節透過就有可能被轉出一筆很大的資產,這個也就是程式碼審計的重要性。如果一個沒有透過程式碼審計的專案是很可能遭受到惡意攻擊的。

如果你學會了看合約程式碼,那麼你就可以自己做程式碼審計。因為那些所謂的程式碼審計公司也就是這麼去幹的。當然還有更多的漏洞,我就不一一介紹了,不然一期也做不完。我們合約程式碼裡面這段程式碼。是為了防止這個漏洞,我這個模板已經遮蔽了絕大多數漏洞。最後再介紹一下超級管理員賬戶。這個合約如果被部署,你當前部署的合約的地址就成為了超級管理員,專案生成的幣會全部發到這個管理員地址上面去管理同時。我們會給超級管理員更多的許可權,比如這個可以鎖定一個地址,不讓他們轉賬。

還有這個設定,比亞迪地址不受任何限制等等。我講這個的目的是要告訴大家,不管是總髮行量會直接發到某個賬戶當中去,還是說超級管理員可以在。中新增很多許可權功能都代表著中心化。你所認為的區塊鏈去中心的特點,其實可能並不是你想象中的。去中心這個我們後面有機會再講,這裡我們先不展開講。最後當我們改完基本引數之後,我們就可以部署了。部署分為兩步。第一步我們選擇編譯指令碼。如果指令碼沒有問題,我們可以切換到部署介面會顯示部署的按鈕。部署前我們需要選擇虛擬機器。

第一個指令碼script 和第三個都是用來本地測試。第二個是用來部署到主網或者是測試網路部署前,我們需要調整一下gas ,gas 太低會部署的很慢,而且可能會失敗,gas 太高又可能會太貴。最後部署成功之後會出現這樣的字樣。告訴你合約的地址,你就可以在ETHscan 上找到你的合約進行操作。我整理了400多個基於以太坊ERC20的原始碼,基本上可以符合絕大多數業務模型需要的,可以自取。如果你覺得我的文章對你有所幫助。希望你可以給我點贊、評論和轉發,我們下期再見。

如何成為區塊鏈的主人