区块链 |快速搭建联盟测试链并部署web3sdk

2019-05-01  本文已影响0人  Ricsy


目录


说明

项目 分支 官方地址 我的码云
FSCO-BCOS master-1.3 https://github.com/FISCO-BCOS/FISCO-BCOS/tree/master-1.3 https://gitee.com/yimeng54/FISCO-BCOS.git
fisco-package-build-tool 1.2.4 https://github.com/FISCO-BCOS/fisco-package-build-tool/tree/v1.2.4 https://gitee.com/yimeng54/fisco-package-build-tool.git
web3sdk master-1.2 https://github.com/FISCO-BCOS/web3sdk/tree/master-1.2 https://gitee.com/yimeng54/web3sdk.git

一、安装JDK

注意:下载时要接受它的许可协议,注册并登录。(这个有点坑,不登录没法下载)

分享链接 提取码
https://pan.baidu.com/s/18cj1crYJA09ehS73Hmmv5A 5n1v

全局安装, 所有用户均生效

export JAVA_HOME=/usr/local/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

source /etc/profile


二、搭建测试链

参阅:

1. 构建安装包

其中,


提示:

  • 中间会有FISCO-BCOS下载、编译、安装, 时间大概要45分钟吧, 执行成功最终在当前目录下会生成build目录.

提示:

  • 其中 127.0.0.1_agent_genesis即是生成的安装包.

参阅:

2. 安装

cd && mkdir fisco-bcos && cd fisco-package-build-tool
mv build/127.0.0.1_agent_genesis ~/fisco-bcos
cd ~/fisco-bcos/127.0.0.1_agent_genesis
./install_node.sh

3. 启动

cd build
./start.sh

4. 验证

tail -f node0/log/log_2019050510.log | egrep "seal"

提示:

  • 验证成功之后,一条简单的测试链搭建成功.

三、web3sdk配置

参阅:

说明:
使用web3sdk前,请确保:

  • FISCO BCOS节点环境搭建完成
  • java版本符合要求要求(jdk1.8+,推荐使用jdk8u141)
  • 网络连通
    检查web3sdk连接的FISCO BCOS节点channelPort是否能telnet通,若telnet不通,需要检查网络连通性和安全策略.(telnet 127.0.0.1 8821telnet 127.0.0.1 8822telnet 127.0.0.1 8823telnet 127.0.0.1 8824)

1. 安装依赖软件

git:用于拉取最新代码.
dos2unix: 用于处理windows文件上传到linux服务器时,文件格式无法被linux正确解析的问题.

apt install git tofrodos -y
ln -s /usr/bin/todos /usr/bin/unxi2dos && ln -s /usr/bin/fromdos /usr/

提示:

  • 实际上它安装了两个工具:todos(相当于unix2dos)和fromdos(相当于dos2unix)
    安装完即可,现在你已经可以进行文本格式的转换了.

2. 编译源码

git clone https://gitee.com/yimeng54/web3sdk.git

cd web3sdk && fromdos *.sh
chmod +x compile.sh &&./compile.sh

3. 配置文件

说明:

1. 拷贝证书

cd ~/fisco-bcos/127.0.0.1_agent_genesis/build/web3sdk/conf
cp sdk.* ca.crt client.keystore ~/web3sdk/dist/conf

2. 配置java客户端相关信息
"systemproxyaddress":"0x66d03dbf1c98fcf53eefa991b7ef781c2df98d9f"
"privateKey":"596cdab0c01ac5f69264b46bee554bbd0eec4b5b775c95471d910b714f182efb"
"god address": "0xfeb0fba3558a11e3d3add6bd9c0caad8d18329af"
                                                                <value>node0@127.0.0.1:8821</value>
                                                                <value>node1@127.0.0.1:8822</value>
                                                                <value>node2@127.0.0.1:8823</value>
                                                                <value>node3@127.0.0.1:8824</value>
3. 测试是否配置成功

提示:

  •   在web3sdk/dist目录下调用TestOk,非国密版web3sdk输出 =====INIT ECDSA KEYPAIR From private key=== 等提示,说明web3sdk与节点连接正常,否则请参考 faq【dist/bin/web3sdk运行出错】 .

四、应用开发指南

参阅:

Counter示例

1. 启动节点

cd ~/fisco-bcos/127.0.0.1_agent_genesis/build && ./start.sh

2. 测试web3sdk与节点连接是否正常

cd ~/web3sdk/dist && java -cp 'conf/:apps/*:lib/*' org.bcos.channel.test.TestOk

3. 编写合约
pragma solidity ^0.4.2;
contract Counter{
    string name;
    uint256 counter;
    //event handle
    event counted(uint256 c,uint256 oldvalue,uint256 currvalue,string memo); 
    event changename(string oldname); 

    function Counter(){
       name="I'm counter";
       counter = 0;
    }

    function setname(string n){
        name=n;
        changename(n);
    }
    
    function getname()constant returns(string){
        return name;
    }

    function addcount(uint256 c,string memo)
    {
    uint256 oldvalue = counter;
        counter = counter+c;
        counted(c,oldvalue,counter,memo); //event
    }
    
    function getcount()constant returns(uint256){
        return counter;
    }
}

提示:

  • 直接复制代码到Ubuntu中会缺少pragma,注意添加.

提示:

4. 搭建并配置java应用

apt install gradle -y && gradle build

提醒:

5. 部署和调用合约

cd ~/bcosliteclient/bcosliteclient/bin


更新中......


上一篇下一篇

猜你喜欢

热点阅读