前沿资讯网>区块链开发>正文

区块链开发(一)有链进行区块链开发测试

摘要
区块链开发(一)有链进行区块链开发测试,通过本文所述方法和项目中的脚本,我们可以快速的搭建好自己的私有链进行区块链开发测试,

    区块链开发(一)有链进行区块链开发测试,通过本文所述方法和项目中的脚本,我们可以快速的搭建好自己的私有链进行区块链开发测试,本文基于以太坊技术进行搭建,分两个部分,一个是Ubuntu下搭建方法,另一个是Windwos下搭建方法,关于以太坊相关的基础知识,可以看我原先发表的一些文章,地址如下:

一、Ubuntu下安装Geth客户端


 区块链开发,有链,区块链开发测试


    之所以采用Ubuntu,是因为以太坊的官方对Ubuntu支持的很好,是在各个linux系统中安装最简单。


    Geth官方安装指南:

进入ubuntu命令行,执行如下命令

sudo apt-get update


sudo apt-get installsoftware-properties-common


sudo add-apt-repository -yppa:ethereum/ethereum


sudo add-apt-repository -yppa:ethereum/ethereum-dev


sudo apt-get update


sudo apt-get install ethereum


    系统联网执行后,即完成了安装以太坊客户端,其中包括geth,bootnode, evm, disasm, rlpdump,ethtest


    此时如果输入Geth命令,会出现启动以太坊启动的画面


二、安装Windows下Geth客户端


    Windows必须64位系统,从官方网站下载编译好的win64客户端,解压缩即可运行,下载地址如下:

三、准备创世块文件


    配置自己的创世块是为了区分公有链,同一个网络中,创世块必须是一样的,否则无法联通,此方法在windows和Ubuntu下通用。


    新建文件piccgenesis.json,输入如下内容并保存


{


    "nonce":"0x0000000000000042",


    "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",


    "difficulty": "0x4000",


    "alloc": {},


    "coinbase":"0x0000000000000000000000000000000000000000",


    "timestamp": "0x00",


    "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",


    "extraData": "PICC GenesisBlock",


    "gasLimit":"0xffffffff"


 区块链开发,有链,区块链开发测试11.jpg


四、 启动私有链节点


    启动Geth即可以启动以太坊的区块链,为了构建私有链 ,需要在Geth启动时加入一些参数,Geth参数含义如下:


 区块链开发,有链,区块链开发测试33.jpg


1、在Ubuntu启动区块链节点


    在Ubuntu下,首先切换到打算运行的目录,目录下应该有配置好的piccgenesis.json文件,执行如下命令


basepath=$(cd `dirname $0`; pwd)


获取当前的目录


geth  --datadir "$basepath/chain" init piccgenesis.json 


创建数据存放地址并初始化创世块


geth --identity"PICCetherum"  --rpc  --rpccorsdomain "*" --datadir "$basepath/chain" --port "30303"  --rpcapi "db,eth,net,web3"--networkid 95518 console


    启动后界面如下,光标停留在最后的命令行上,可以执行以太坊命令。


I0707 00:45:43.680087 ethdb/database.go:82]Alloted 128MB cache and 1024 file handles to /home/lihe/桌面/chain/chaindata


I0707 00:45:43.726008ethdb/database.go:169] closed db:/home/lihe/桌面/chain/chaindata


I0707 00:45:43.728913 ethdb/database.go:82]Alloted 128MB cache and 1024 file handles to /home/lihe/桌面/chain/chaindata


I0707 00:45:43.908795 ethdb/database.go:82]Alloted 16MB cache and 16 file handles to /home/lihe/桌面/chain/dapp


I0707 00:45:43.969506 core/genesis.go:92]Genesis block already in chain. Writing canonical number


I0707 00:45:43.980337 eth/backend.go:274]Successfully wrote custom genesis block:6e92f8b23bcdfdf34dc813cfaf1d84b71beac80530506b5d63a2df10fe23a660


I0707 00:45:43.980618 eth/backend.go:184]Protocol Versions: [63 62], Network Id: 95518


I0707 00:45:43.981567core/blockchain.go:204] Last header: #81 [6193c4b0…] TD=10836704


I0707 00:45:43.981645core/blockchain.go:205] Last block: #81 [6193c4b0…] TD=10836704


I0707 00:45:43.981677core/blockchain.go:206] Fast block: #81 [6193c4b0…] TD=10836704


I0707 00:45:43.985253 p2p/server.go:313]Starting Server


I0707 00:45:45.834488p2p/discover/udp.go:217] Listening,enode://134881790e54c803955715e3661c27f91caaf499be813e29c9f986e2eac62d47e02b13a8e51776c1caea554655614ed26ce0185d84e626da7ac48a83a60113ff@[::]:30303


I0707 00:45:45.835853 node/node.go:366]HTTP endpoint opened: http://localhost:8545


I0707 00:45:45.848008 p2p/server.go:556]Listening on [::]:30303


I0707 00:45:45.849731 node/node.go:296] IPCendpoint opened: /home/lihe/桌面/chain/geth.ipc


Welcome to the Geth JavaScript console!


instance:Geth/v1.5.0-unstable/linux/go1.5.1/PICCetherum


coinbase:0x93509a2f4b2b974b07ef0b52e07c3992601f5de1


at block: 81 (Tue, 05 Jul 2016 21:02:25CST)


 datadir: /home/lihe/桌面/chain


 modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0



    可以看到Listening on [::]:30303和Welcome to the Geth JavaScript console!的提示,说明已经启动成功


    注意:如果想将Ubuntu作为永久区块链节点使用,当使用nohup命令时,Geth启动参数console必须去掉,否则Geth会自动停止。


 


2、在windows启动区块链节点


    进入Windows下Geth的目录 ,放置配置好的piccgenesis.json文件,执行如下命令:



geth  --datadir "%cd%\chain" init piccgenesis.json 


创建数据存放地址并初始化创世块


geth--identity "PICCetherum" --rpc--rpccorsdomain "*" --datadir "%cd%\chain" --port"30303"  --rpcapi"db,eth,net,web3" --networkid 95518 console


    当看到Listening on [::]:30303和Welcome to the Geth JavaScript console!的提示,说明已经启动成功


 


五、使用节点创建账号


    启动节点成功后,会进入Geth的命令行模式,输入如下命令


personal.newAccount()


    系统会提示你输入账号密码,并确认,最后会显示一个新生成的账号。


六、启动Windows下私有链图形节点


    首先按上面的步骤启动Geth并创建了账号,然后解压缩Ethereum-Wallet,运行Ethereum-Wallet.exe,即启动成功,如果区块链正常的话,会在右上角显示“PRIVATE-NET”,点击“LAUNCH APPLICATION”进入图形界面即可。


   【免责声明】以上文章是今日小编为您介绍区块链开发的个人观点,请读者仅作参考,投资有风险,入市须谨慎!本站不拥有所有权,不承担相关法律责任。如需了解“区块链开发测试”请关注:【区块链系统开发 http://www.whw999.com/develop/】如若转载,请注明。


区块链开发(五)区块链ICO:什么是区块链ICO

区块链开发(五)区块链ICO:什么是区块链ICO,由于区块链不可篡改的特性,在众多区块链组织和公司的共同努力下,互联网将逐步从中心化的信任进化到由算法、

12月12日 18:14

区块链钱包开发,区块链钱包是什么?关于钱包的使用指南

区块链钱包开发,区块链钱包是什么?关于钱包的使用指南,而不论你是价值投资还是投机,只要入场,就一定离不开钱包。

12月11日 16:03

三、区块链技术开发,区块链开发第一个智能合约

三、区块链技术开发,区块链开发第一个智能合约,一、编写智能合约代码HelloWorld.go,go语言实现,代码很简单,每个合约包含两个方法,Init、Invoke。

12月10日 10:48

区块链钱包开发:区块链钱包设计服务流程软件程序

区块链钱包开发:区块链钱包设计服务流程软件程序,账户拥有者有一个私人密钥(秘密号码)通往他们的钱包。 此密钥是访问比特币地址的唯一途径,因此也是接收或发送信用的唯一方式。

12月09日 10:48

区块链技术开发我们的优势_区块链未来展望有哪些

区块链技术开发我们的优势_区块链未来展望有哪些,前沿资讯网打造顶尖的区块链应用开发公司,为客户量身打造区块链项目的应用,我们对于区块链游戏开发,

12月09日 10:30