第一章 区块链系列 联盟链FISCO BCOS 底层搭建
想了解相关区块链开发,技术提问,请加QQ群:538327407
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代码
读后感觉不错,有收获可以微信请作者喝杯咖啡,读后有疑问请加微信,拉群研讨,注明来意


第一章 区块链系列 联盟链FISCO BCOS 底层搭建的更多相关文章
- 联盟链FISCO BCOS权限控制一览
FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造.开源工作组成员包括博彦科技.华为.深证通.神州数码.四方精创.腾讯.微众银行. ...
- 联盟链FISCO BCOS v2.0.0-rc3 发布
FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造.开源工作组成员包括博彦科技.华为.深证通.神州数码.四方精创.腾讯.微众银行. ...
- 第六章 Fisco Bcos 多服务器分布式部署
想了解相关区块链开发,技术提问,请加QQ群:538327407 前提概要 前面几章,我们通过单机部署,在单台服务器上搭建四个节点,完成Fisco Bcos 底层搭建,并完成相关合约开发.sdk 开发. ...
- 人民网慕课联手FISCO BCOS开源社区上线“区块链学院”
FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造.开源工作组成员包括博彦科技.华为.深证通.神州数码.四方精创.腾讯.微众银行. ...
- Spring Boot 整合 Fisco Bcos(区块链)
简介 FISCO BCOS是由国内企业主导研发.对外开源.安全可控的企业级金融联盟链底层平台,由金链盟开源工作组协作打造,并于2017年正式对外开源. 目前,成熟的区块链的平台不少,之所以选择FISC ...
- Linux系统shell编程自学_第一章基础
第一章 基础shell的优势在于处理操作系统底层的业务,Python,php的优势在于开发运维工具,web界面的管理工具以及web业务开发.处理一键安装.优化.报警脚本shell又叫命令解释器,它能识 ...
- 36小时极客嘉年华!FISCO BCOS黑客马拉松报名启动
FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造.开源工作组成员包括博彦科技.华为.深证通.神州数码.四方精创.腾讯.微众银行. ...
- 第十章 Fisco Bcos 权限控制下的数据上链实操演练
一.目的 前面已经完成fisco bcos 相关底层搭建.sdk使用.控制台.webase中间件平台等系列实战开发, 本次进行最后一个部分,体系化管理区块链底层,建立有序的底层控管制度,实现权限化管理 ...
- 第七章 手动部署Fisco Bcos 区块链并完成新增群组,在原有群组中新增机构
鉴于笔者以前各大博客教程都有很多人提问,早期建立一个技术交流群,里面技术体系可能比较杂,想了解相关区块链开发,技术提问,请加QQ群:538327407 目标 1.新增群组搭建完整联盟链 2.根据群组新 ...
随机推荐
- 阿里云MVP:开发者的超能力,用技术创造更好世界
阿里云MVP:开发者的超能力,用技术创造更好世界 2019年3月,第8期阿里云MVP(最有价值专家)完成终审,截至目前,全球已有27个国家和地区.近500位云计算专家和优秀开发者成为阿里云MVP.阿里 ...
- SQLServer —— 视图
一.视图的概念 是存储在服务器端的一个查询块,是一张虚拟表. 表示一张表的部分数据或多张表的综合数据. 其结构和数据是建立在对表的查询基础上. 视图的使用,跟对普通的表的查询使用完全一样. 二.视图中 ...
- Web.xml详解(转)(Filter,context,listener)
web.xml 详细解释!!(链接) web.xml加载过程(步骤) 首先简单说一下,web.xml的加载过程. 当我们去启动一个WEB项目时,容器包括(JBoss.Tomcat等)首先会读取项目we ...
- pycharm 2017 序列号失效问题解决(2016-2017版本都有效)
pycharm 序列号失效问题解决 this license BIG3CLIK6F has been cancelled 具体如下: 对,没错,这个激活码本来可以使用到2018年的,但是,忽然间 ...
- 【JZOJ4858】【GDOI2017模拟11.4】Walk
题目描述 在比特镇一共有n 个街区,编号依次为1 到n,它们之间通过若干条单向道路连接. 比特镇的交通系统极具特色,除了m 条单向道路之外,每个街区还有一个编码vali,不同街区可能拥有相同的编码.如 ...
- vue @click.native
1,给vue组件绑定事件时候,必须加上native ,不然不会生效(监听根元素的原生事件,使用 .native 修饰符) 2,等同于在自组件中: 子组件内部处理click事件然后向外发送click事件 ...
- 阿里云MaxCompute 2019-6月刊
您好,MaxCompute 2019.6月刊为您带来6月产品.技术最新动态,欢迎阅读. 导读 [功能发布]6月产品重要发布 [文档更新]6月重要文档更新推荐 [干货精选]6月精选技术文章推荐 [活动回 ...
- Resource Management in View Controllers
UIViewController生命周期 UIViewControl是IOS程序中的一个重要组成部分,扮演者一个大管家的身份,管理着程序中的众多视图,今天看看了官方文档并做了如下一些简单的记录: 何时 ...
- 【Mysql的那些事】Django数据库配置
1:安装与配置 1:pip install PyMySQL(或者直接使用Pycharm的setting,点击添加PyMySQL) 2:在Django的工程同名子目录的__init__.py文件中添加如 ...
- 微信小程序左滑显示按钮demo
wxml结构(删除部分代码): <view class="chapter-item" wx:for="{{klgData}}" data-index=&q ...