windows10基于Node.js的express服务器搭建并通过web3.js连接简单智能合约(二)
一、geth
Geth是Go Ethereum开源项目的简称,它是使用Go语言编写且实现了Ethereum协议的客户端软件,geth下载大家自行搜索,因为网址可能打不开,可以下载一些开源的镜像资源。(主要是镜像网址忘了)
下载好之后我们创建一个json格式的文件在你的目录下我起名为genesis.json,配置它的初始块,写入下面代码 。
进入该目录,用cmd命令进入 输入geth --datadir data init genesis.json
配置此文件。
生成如上的格式,之后输入geth --datadir . --networkid 4224 --rpc --rpcport 8545 --rpccorsdomain="*" --port 30303 --rpcapi eth,web3,personal,net console 2> log.txt
进入
personal.listAccounts
查看当前的账户。
personal.newAccount("123456")
,用于生成新的账户。()里面是你要形成的密码,账号自动生成。
这里不一一放图了。miner.start()
开始挖矿。miner.stop()
,停止挖矿。
二、编写简单智能合约
我们通过remix,一款可以在线进行编写智能合约的软件http://remix.ethereum.org,所用的语言为solidity语言,我所选用的版本为0.4.20编写,一个简单的get set数据的合约。
在这里,我们编译好之后会是这样我们选择最上面的环境,这个其实也可以,不过我们已经开启了私链,所以选择
Web3 Provider ,点ok就行,他就是在8545端口下面的。
其他都不变,直接Deploy部署合约。但会显示以下错误。
在我们的geth下解锁你选择的账户。
之后就完成了我们的部署合约了,记得要开启挖矿哈,否则gas会不够的。
当部署成功后会成这样,我发送了12345字符串,点击getMessage会收到12345字符串,至此合约部署完毕。