第一章 区块链系列 联盟链FISCO BCOS 底层搭建

 

想了解相关区块链开发,技术提问,请加QQ群:538327407(已满),群2:135019400

 

FISCO BCOS 基础安装教程:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/installation.html

官方文档:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/tutorial/sdk_application.html

 

环境准备:腾讯云服务器 ubuntu 18.4

根据官方基础教程,按照标准版本,如果国密版本另外处理。

 

单群组FISCO BCOS联盟链的搭建(适用于开发模式、单个服务器搭建,生产环境使用企业级分布式部署)

本节以搭建单群组FISCO BCOS链为例操作。使用build_chain.sh脚本在本地搭建一条4节点的FISCO BCOS链,以Ubuntu 16.04系统为例操作。

注解

  • 搭建多群组的链操作类似,感兴趣可以 参考这里 。
  • 本节使用预编译的静态`fisco-bcos`二进制文件,在CentOS 7和Ubuntu 16.04上经过测试。

准备环境

  • 安装依赖

build_chain.sh脚本依赖于openssl, curl,使用下面的指令安装。CentOS将下面命令中的apt替换为yum执行即可。macOS执行brew install openssl curl即可。

sudo apt install -y openssl curl
  • 创建操作目录
cd ~ && mkdir -p fisco && cd fisco
  • 下载build_chain.sh脚本
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/`curl -s https://api.github.com/repos/FISCO-BCOS/FISCO-BCOS/releases | grep "\"v2\." | sort -u | tail -n 1 | cut -d \" -f 4`/build_chain.sh && chmod u+x build_chain.sh

搭建单群组4节点联盟链

在fisco目录下执行下面的指令,生成一条单群组4节点的FISCO链。需要保证机器的30300~30303,20200~20203,8545~8548端口没有被占用。

bash build_chain.sh -l "127.0.0.1:4" -p 30300,20200,8545

注解

  • 其中-p选项指定起始端口,分别是p2p_port,channel_port,jsonrpc_port,出于安全考虑jsonrpc/channel默认监听127.0.0.1,需要外网访问请添加-i参数。

1、进入路径

cd /home/useradmin/fisco 可以通过pwd 命令查询

2、启动区块链

bash nodes/127.0.0.1/start_all.sh

3、在控制台配置要的情况下,启动控制台

cd ~/fisco/console

./start.sh

4、查看智能合约的位置

pwd 命令,得到地址
/home/useradmin/fisco/console/solidity/contracts

5、调用合约

将合约放到合约目录下,进入控制台模式,这样就可以在控制台调用智能合约,执行命令如下:

deploy 合约名称

call 合约名称 合约地址 方法 参数


6、合约编写说明

(1) 新建表方法,只有名称,没有数据类型

(2)调用表方法,这里面关联我们自己创建的表

(3) 复杂的业务流程验证,交易校验,交易操作(比如需要修改权限需要控制好,在合约里面尽量不要开放修改权限)


7、部署合约操作


cat > ./contracts/Asset.sol << EOF 将这些部分去掉,包括末尾的EOF

(1) 执行部署合约命令:deploy Asset.sol
返回contract address:0x0b9ce0c6c4a85816bb328815d6befd7aa56119e8

(2) 执行查询方法 参数要使用双引号

call Asset 0x0b9ce0c6c4a85816bb328815d6befd7aa56119e8 select "0x0b9ce0c6c4a85816bb328815d6befd7aa56119e8"

调用 多参数方法,需要使用 空格 然后使用对应的参数

call Asset 0x0b9ce0c6c4a85816bb328815d6befd7aa56119e8 register "0x0b9ce0c6c4a85816bb328815d6befd7aa56119e8" 1000

 

8、将合约进行java的转化

将合约放到这个文件夹下面

/home/useradmin/fisco/console/tools/contracts

在/home/useradmin/fisco/console/tools 目录下执行命令

./sol2java.sh org.fisco.bcos.asset.contract

就会在/home/useradmin/fisco/console/tools/java目录下生成对应的包和对应的合约java代码

 

 读后感觉不错,有收获可以微信请作者喝杯咖啡,读后有疑问请加微信,拉群研讨,注明来意

 

 

 

posted @ 2019-06-21 17:38  linbin524  阅读(5425)  评论(0编辑  收藏  举报