如何在自己的以太坊分叉鏈上發(fā)智能合約

如果是要自己發(fā)智能合約,技術(shù)流的做法是:去以太坊官方下載它的Go Ethereum客戶端,簡稱Geth, 用的是Go語言編寫的。通過Geth, 你可以自己創(chuàng)建節(jié)點(diǎn),連接主網(wǎng),管理賬戶,寫智能合約和挖礦,甚至自己搭建一個(gè)以太坊應(yīng)用程序。

以太坊Geth 安裝下載地址:Installing Geth | Go Ethereum

下圖是創(chuàng)建賬戶的一個(gè)例子,Go語言不是很復(fù)雜,挺像自然語言的了。

你可以按照以太坊官網(wǎng)上的步驟一步步操作,寫得非常詳細(xì)。

提醒一下,下載Geth客戶端之前要準(zhǔn)備好足夠內(nèi)存,因?yàn)閯?chuàng)建你自己的節(jié)點(diǎn)連接到主網(wǎng),意味著你要把主網(wǎng)上從開始到至今的所有區(qū)塊信息下載下來,這是以太坊公鏈的去中心化的特征之一,每一個(gè)節(jié)點(diǎn)都要為以太坊的安全做貢獻(xiàn),要為以太坊鏈上的信息做一次證。要保證大約300GB以上內(nèi)存。

以太坊合約是什么

“比特幣是區(qū)塊鏈1.0,以太坊是區(qū)塊鏈2.0”、“以太坊是公鏈的霸主地位”,類似的表述或許你經(jīng)常聽到。什么是以太坊?和比特幣有什么不同?為什么會(huì)被稱為“區(qū)塊鏈2.0”?今天,我們就來一起揭開以太坊的“神秘面紗”。

01 天才神童:V神

在講什么是以太坊之前,必須介紹一下以太坊的傳奇創(chuàng)始人——Vitalik Buterin,一個(gè)天才神童,大家稱為“V神”。2011年,作為計(jì)算機(jī)科學(xué)家的父親,就開始給自己的17歲兒子V神安利才2歲的比特幣(中本聰2008年發(fā)布了比特幣白皮書,但世界上第一枚比特幣是2009年1月份由中本聰挖出)。研究了比特幣之后完全被迷住的V神,開始幫一家媒體在論壇上寫區(qū)塊鏈相關(guān)的稿件,又聯(lián)合別人一起創(chuàng)辦了比特幣雜志。2013年,19歲的V神去美國參加了一個(gè)比特幣相關(guān)的會(huì)議。然后他發(fā)現(xiàn)比特幣有些許缺陷,自己很想要進(jìn)行一些彌補(bǔ)。參加完會(huì)議后的V神內(nèi)心澎湃,和當(dāng)年的比爾·蓋茨、馬克·扎克伯格一樣,不久便從大學(xué)退學(xué)了。然后,他花了半年時(shí)間,去世界各地拜訪那些想改進(jìn)比特幣的個(gè)人和團(tuán)隊(duì)。當(dāng)然,最后V神有點(diǎn)失望,因?yàn)樗l(fā)現(xiàn),大家都是在比特幣上做些修修補(bǔ)補(bǔ),沒有從根本上解決比特幣的缺陷,即功能太單一。于是,他提出了以太坊的想法,決定另起爐灶,大干一場。2014年,20歲的他開始眾籌開發(fā)以太坊,在2014年7月,發(fā)起了一個(gè)為了項(xiàng)目開發(fā)募資的眾籌,2015年7月30日以太坊區(qū)塊鏈正式啟動(dòng),從此以太坊的理念變成了一個(gè)真實(shí)的、可運(yùn)行的網(wǎng)絡(luò)。

02 以太坊的含義

雖然’比特幣’和’以太坊’是經(jīng)常被搭配在一起的術(shù)語,但現(xiàn)實(shí)是它們有很大的不同。以太坊與比特幣的唯一共同點(diǎn)是,都是一種運(yùn)行在區(qū)塊鏈之上的加密資產(chǎn)。但以太坊不僅僅是一種加密貨幣,它還具有一些功能,這些功能使它成為一個(gè)巨大的去中心化的計(jì)算機(jī)。所以比特幣是一個(gè)分布式的賬本,主要的功能是記賬。而以太坊則可以理解為一個(gè)分布式計(jì)算平臺(tái),不僅可以記賬,還可以在上面運(yùn)行程序。分布式計(jì)算平臺(tái),說明以太坊也和比特幣一樣,是去中心化的,由分布在世界各地的節(jié)點(diǎn)共同記賬,共同維護(hù)一個(gè)賬本,賬本公開透明且不可篡改。但與比特幣不同的是,以太坊提供了一套圖靈完備的腳本語言,也就是說,我們能在以太坊上開發(fā)應(yīng)用程序。這些應(yīng)用程序需要以太坊網(wǎng)絡(luò)的節(jié)點(diǎn)托管、運(yùn)行,我們?cè)谝蕴簧限D(zhuǎn)賬也需要節(jié)點(diǎn)們來記賬,為此,我們需要支付這些節(jié)點(diǎn)費(fèi)用。比特幣網(wǎng)絡(luò)中,我們轉(zhuǎn)賬支付的手續(xù)費(fèi)是比特幣BTC,系統(tǒng)給礦工的獎(jiǎng)勵(lì)也是比特幣;在以太坊網(wǎng)絡(luò)中,支付的手續(xù)費(fèi)和系統(tǒng)給節(jié)點(diǎn)的獎(jiǎng)勵(lì)是以太幣ETH。也可以把以太坊理解成是一個(gè)完全去中心化的計(jì)算機(jī),分布在全球各地,在全球范圍的多個(gè)計(jì)算機(jī)上驗(yàn)證、存儲(chǔ)和復(fù)制交易數(shù)據(jù)(因此術(shù)語叫“分布式賬本”)。03 以太坊的關(guān)鍵:智能合約

如果以太坊僅僅是一個(gè)分布式計(jì)算機(jī),可以在上面運(yùn)行程序,這還不足以讓它成為“區(qū)塊鏈2.0”。以太坊的真正殺手锏是它有智能合約的功能。什么是智能合約呢?簡單理解,智能合約就是可以自動(dòng)執(zhí)行的合同。舉個(gè)例子,想象一下,你和我就明天的天氣打了個(gè)賭。我打賭明天會(huì)是晴天,而你打賭會(huì)是雨天。我們約定,輸家必須給贏家100美元。我們?cè)鯓硬拍茏龅竭@一點(diǎn),并確保輸家會(huì)遵守承諾呢?我可以想到三種不同的方法。

1.互相信任

最簡單的方法是相互信任。如果我們現(xiàn)在已經(jīng)做了很長時(shí)間的朋友,信任對(duì)方是很容易的。我知道你住在哪里,你也知道關(guān)于我的各種令人尷尬的事情。但如果我們是完全陌生的人,事情就會(huì)變得更加困難。你沒有理由相信我,我也沒有理由相信你。

2.簽署一份法律協(xié)議

另一個(gè)合理的方法是將我們的賭注擬定為一份法律協(xié)議。我們雙方將簽署一份協(xié)議,詳細(xì)定義我們賭注的所有條款—包括如果輸家違反協(xié)議會(huì)發(fā)生什么。

該協(xié)議將使我們?cè)诜缮嫌辛x務(wù)支付贏家,但它不會(huì)起到任何實(shí)際作用,因?yàn)橥ㄟ^法律途徑強(qiáng)制執(zhí)行該協(xié)議的費(fèi)用會(huì)比賭注的價(jià)值更高。

3.從一個(gè)共同的朋友那里獲得幫助

我們可以找到一個(gè)共同的朋友,我們都信任他/她,然后我們都給他/她每人100美元作為保管費(fèi)。第二天,他/她會(huì)檢查天氣,并將總額200美元交給贏得賭局的人。簡單而容易,但是如果那個(gè)值得信賴的朋友拿著200美元跑了怎么辦?

現(xiàn)在我們有三種不同的打賭方式,但每個(gè)選項(xiàng)都有其缺點(diǎn)。因?yàn)槲覀兪悄吧耍覀儾荒苄湃螌?duì)方。強(qiáng)行簽訂法律協(xié)議的費(fèi)用會(huì)很高,實(shí)際上是不可行的。從共同的朋友那里獲得幫助又帶來了信任的問題。

在這種情況下,以太坊的智能合約可以拯救世界。智能合約就像受信任的共同朋友,但用代碼編寫。

隨機(jī)配圖