1、启动geth
geth --datadir data --networkid 1101 --rpc --rpcapi "web3,eth,personal,net" --rpccorsdomain "*" console
2、在geth里面新建一个账户并且解锁
personal.newAccount('123456')
(括号里面是账户的密码)
解锁账户0
personal.unlockAccount(eth.accounts[0])
ps:如果操作过程中又出现accounts unlock的报错,你就重新再解锁账户
3、创建合约
在deploy.js文件里面粘贴下边的代码
var Web3 = require("web3");//引入web3 var web3 = new Web3();//声明 web3.setProvider(new web3.providers.HttpProvider("http://localhost:8545"));///连接以太坊
接下来粘贴画圈的代码
4459E8F3-2744-4B7E-B962-0D77F5FEAFE7.png然后在控制台进入deploy.js所在路径,然后输入
node deploy.js
4、合约部署
在geth控制台里面输入
miner.start()
看到
输入miner.stop()
5、这个时候在node deploy.js的那个控制台会出现address:。。。。。。
把address后边的数字复制下来
6、新建一个文件 test.js
输入
var Web3 = require("web3");//引入web3 var web3 = new Web3();//声明 web3.setProvider(new web3.providers.HttpProvider("http://localhost:8545"));///连接以太坊
上图中的第一行
FCD21085-1971-4FFF-9FD2-DEC5044D018E.png括号里面的东西换成solidity编译器interface后边的代码
第二行mycontract。at()括号里是第五步复制的address。
7、你的合约调用
第一步 :把学生的信息存到区块链
在第二行后边加下边的代码
var userID=myContractInstance.newStu.sendTransaction(web3.eth.accounts[0],"loutong2",2012210596,"students",{from: web3.eth.accounts[0],gas:470000});
编译 node test.js
然后去geth挖矿
第二步
先把存信息的那行代码注释掉!!!!!
然后查询学生信息
console.log(myContractInstance.getStu(2012210596).toString());
2012210596是学生的学号,你和上边的学号对应就行
8、现在你就完成了向区块链存学生信息,并查询学生信息
你需要接下来完成:
1、通过node访问数据库,把数据库的信息查出来一条存在区块链一条,最终完成数据库的信息存到区块链上的一个转换
2、查询页面的编写
3、最终形成一个学生数据存到了区块链上,用户可以通过查询页面查询上边的信息的应用
吧啦吧啦 你自己再想想还要做点其他的什么
ps
提高功能:
把数据库信息转到区块链上的过程用户化。
网友评论