从零开始以太坊区块链开发指南一

万事开头来,无论是开发什么。首先就是搭建开发环境,今天尝试把自己搭建ethereum区块链开发环境的经验写出来,希望能对你有帮助。

说明


以太坊是一个开源的,能够部署和运行智能合约的提供去中心化的虚拟机,你可以把它理解为运行各种去中心化app的操作系统,最著名的应用就是比特币了。以太坊网络是由一个个节点组成的。然后,我们把自己写的智能合约部署到以太坊网络上去,以太坊的应用就是一个部署,操作,智能合约的程序。由于以太坊的公链对于我们开发程序来说太慢,所以首先需要先搭建一个以太坊的私有链。这过程中主要需要geth。

1.geth

首先需要安装geth,我们使用geth来创建私有链。
Mac平台


1.1 使用 Homebrew安装

brew tap ethereum/ethereum
brew install ethereum

1.2 从源码安装

git clone https://github.com/ethereum/go-ethereum
brew install go
cd go-ethereum
make geth

1.3 从网站下载命令行工具

https://ethereum.github.io/go-ethereum/downloads/

Windows平台
从下面网站下载windows平台

https://ethereum.github.io/go-ethereum/downloads/

Ubuntu平台

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

安装好geth之后,使用命令行

geth version

如果输出类似

Geth
Version: 1.7.3-stable
Architecture: amd64
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.9
Operating System: darwin
GOPATH=
GOROOT=/usr/local/Cellar/go/1.9/libexec

表示安装成功

2.使用geth创建私有链

运行命令

mkdir enode1
mkdir enode2

分别创建两个文件夹,作为两个私有链节点的datadir
两个节点要能链接,必须是由同一个创始文件创建的链。

geth --datadir "enode1" init genesis.json

enode1是上文创建的文件之一, genesis.json是创世的配置文件
genesis.json如下

{
  "coinbase"   : "0x0000000000000000000000000000000000000001",
  "difficulty" : "0x400",
  "extraData"  : "",
  "gasLimit"   : "4712388",
  "nonce"      : "0x0000000000000042",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00",
  "alloc": {},
  "config": {
        "chainId": 15,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    }
}

创建完成之后
使用命令

geth --identity "newEth" --rpc --rpccorsdomain "*" --datadir "enode1" --port 30303 --rpcapi "personal,db,net,eth,web3" --networkid 999 --rpcport 8080 console

我们可以看到这些信息


节点端口

来启动另外一个节点
使用命令启动另外一个节点

geth --datadir "enode2" init genesis.json
geth --identity "newEth" --rpc --rpccorsdomain "*" --datadir "enode2" --port 30304 --rpcapi "personal,db,net,eth,web3" --networkid 999 --rpcport 8081 console
另外一个节点

注意,两个节点不同的地点在datadir,port,rpcport。因为我们是在同一个计算机上运行两个节点,所以datadir,port,rpcport必须不同,如果不是在同一个计算机上则无所谓。


运行admin.peers


节点信息

可以看到该节点并没有和任何节点链接

添加另外一个节点

运行admin.addPeer('')添加另外一个节点,节点的地址enode://6b944fdc0a3460977e67682428b29cec7b28a400a2a5c3ef6b56673eb9f4abc8fe7316018c2073e43569ec63e6542eb7dc8b23cc93f397bc41a1f077b8cec6e4@[::]:30304就是上图我们enode2的节点地址。
我们再运行admin.peers看看
image.png

可以看到,两个节点已经运行在同一个链上。


好了,最重要的运行环境已经搭建完了,下一章我们试图部署一个智能合约。下一章地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,219评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,363评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,933评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,020评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,400评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,640评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,896评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,597评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,327评论 1 244
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,581评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,072评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,399评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,054评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,849评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,672评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,585评论 2 270

推荐阅读更多精彩内容

  • 本文是对以太坊文档 Ethereum Frontier Guide 和 Ethereum Homestead 的整...
    趁风卷阅读 9,367评论 0 16
  • 最新内容会更新在主站深入浅出区块链社区原文链接:以太坊是什么 - 以太坊开发入门指南 很多同学已经跃跃欲试投入到区...
    深入浅出区块链阅读 2,454评论 2 20
  • 【中文版】以太坊白皮书 翻译:少平、 Seven当中本聪在 2009 年 1 月启动比特币区块链时,他同时向世界引...
    __Seven__阅读 4,049评论 0 10
  • 我爱我家乡 家乡是一个很美的地方 美在她是生我养我的地方 我曾赤脚跑过她的每一份土地 她的每一寸土...
    美哲阅读 262评论 0 1
  • 虽然不多,但我也在继续努力呦!(^.^) 银河(o^^o) 风中的波斯菊 我妈一见到就夸:这“荷花”真漂亮!...
    LYT彦儿阅读 475评论 3 4