美文网首页
geth连接web3笔记

geth连接web3笔记

作者: 娄童 | 来源:发表于2017-04-11 11:27 被阅读313次

    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])

    8DB3F564-E1D3-4512-B5D3-8C3116404387.png

    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()
    看到

    B3C501B3-AE3B-4D0E-8091-CEF9B3EDF45F.png
    输入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"));///连接以太坊

    A90F5C8F-FF3F-4E70-8B0A-6A0F764DF74A.png

    上图中的第一行

    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
    提高功能:
    把数据库信息转到区块链上的过程用户化。

    相关文章

      网友评论

          本文标题:geth连接web3笔记

          本文链接:https://www.haomeiwen.com/subject/leyyattx.html