以太坊的开发环境配置

目的

记录一下本人在Ubuntu环境下配置以太坊开发环境的过程,希望对后来者有所帮助。

过程

首先安装npm和NodeJS

sudo apt-get install npm
sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

然后用npm安装solc和solc的命令行工具solc-cli

sudo npm install -g solc solc-cli --save-dev

运行命令solcjs测试是否安装成功,如果没有输出则尝试重新启动shell或者重新连SSH。

安装solc二进制包

sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc

安装testrpc和truffle,这两个用npm就可以安装

sudo npm install -g ethereumjs-testrpc
sudo npm install -g truffle

测试一下

root@server-01:~# testrpc

EthereumJS TestRPC v6.0.3 (ganache-core: 2.0.2)                                                                                               


Available Accounts                                                                                                                             

==================                                                                                                                             

(0) 0x3675e40d6bfe7566************************                                                                                                 

(1) 0x08d58806fc0594b9************************                                                                           

(2) 0xb03848d8e9359c13************************                                                                           

(3) 0xc3161063b46b2ca7************************                                                                                                 

(4) 0x026c1c6020e8bdb4************************                                                                                                 

(5) 0xe16f58c2ce883c7b************************                                                                                                 

(6) 0x77ef98fe516c2b27************************                                                                                                 

(7) 0x9ea92133dfccc26b************************                                                                                                 

(8) 0xc417d04c5c3a07fe************************                                                                                                 

(9) 0x9a2057c26ca2f31b************************                                                                                                 


Private Keys                                                                                                                                   

==================                                                                                                                             

(0) 7257cca8f9dedc96e5763f65b************************                                                                           

(1) e1e0966f65791b770f5f02889************************                                                                           

(2) e06e8b51551acf86911218e2b************************                                                                           

(3) c5c5541ff80373e67250da33f************************                                                                           

(4) 84fcce7aa99ae2fb2daeb3d39************************                                                                           

(5) b4a85007439171cb749c8a735************************                                                                           

(6) d915802e5ed351f580e647dd4************************                                                                           

(7) f968d8be8c8eca6921e096f0f************************                                                                           

(8) 8ad639d0ab8cba1330d0166d0************************                                                                           

(9) 3832604233464c554487c4638************************                                                                           


HD Wallet                                                                                                                                     

==================                                                                                                                             

Mnemonic:      talent eyebrow split nasty belt crane minor tenant text exact arrow bronze                                                     

Base HD Path:  m/44'/60'/0'/0/{account_index}


安装Geth客户端(go-ethereum)

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

测试一下效果

root@server-01:~# geth                                                                                                                     

WARN [02-07|22:25:13] No etherbase set and no accounts found as default                                                                       

INFO [02-07|22:25:13] Starting peer-to-peer node              instance=Geth/v1.7.3-stable-4bb3c89d/linux-amd64/go1.9                         

INFO [02-07|22:25:13] Allocated cache and file handles        database=/root/.ethereum/geth/chaindata cache=128 handles=1024                 

INFO [02-07|22:25:13] Initialised chain configuration          config="{ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 246

3000 EIP155: 2675000 EIP158: 2675000 Byzantium: 4370000 Engine: ethash}"                                                                     

INFO [02-07|22:25:13] Disk storage enabled for ethash caches  dir=/root/.ethereum/geth/ethash count=3                                       

INFO [02-07|22:25:13] Disk storage enabled for ethash DAGs    dir=/root/.ethash              count=2                                       

INFO [02-07|22:25:13] Initialising Ethereum protocol          versions="[63 62]" network=1                                                   

INFO [02-07|22:25:13] Loaded most recent local header          number=1689199 hash=33deb6…58ab28 td=26797004748806845550                     

INFO [02-07|22:25:13] Loaded most recent local full block      number=0      hash=d4e567…cb8fa3 td=17179869184                               

INFO [02-07|22:25:13] Loaded most recent local fast block      number=1682884 hash=3ae41f…d86991 td=26497997153318071852                     

INFO [02-07|22:25:13] Loaded local transaction journal        transactions=0 dropped=0                                                       

INFO [02-07|22:25:13] Regenerated local transaction journal    transactions=0 accounts=0                                                     

INFO [02-07|22:25:13] Upgrading chain index                    type=bloombits percentage=72                                                   

INFO [02-07|22:25:13] Starting P2P networking                                                                                                 

INFO [02-07|22:25:16] UDP listener up                          self=enode://2351f92b96adcaaa0f648e4646677052ca20943756a7005f378907420aa85ac2671

721b0048496ec535611624b25442689d1f5f94764276598b8f31949e5a6de@[::]:30303                                                                     

INFO [02-07|22:25:16] RLPx listener up                        self=enode://2351f92b96adcaaa0f648e4646677052ca20943756a7005f378907420aa85ac2671

721b0048496ec535611624b25442689d1f5f94764276598b8f31949e5a6de@[::]:30303                                                                     

INFO [02-07|22:25:16] IPC endpoint opened: /root/.ethereum/geth.ipc

总结

这样以太坊的开发环境的配置就大功告成了。以太坊是一个分布式的账本数据库,在机器上运行geth后,该机器就成为以太坊的一个P2P节点,会不断更新本机的以太坊分布式账本数据库。

你可能感兴趣的:(以太坊的开发环境配置)