区块链底层平台BCOS使用教程
文章目录
一、BCOS平台简介
- 基础概念
- BCOS是一个开源的区块链底层平台,旨在为企业和开发者提供一个高效、安全、稳定的区块链解决方案。它支持多种共识机制,例如PBFT(实用拜占庭容错算法)等,适用于联盟链场景。
- 应用场景
- 在金融领域,可用于供应链金融、票据管理等业务,确保交易的透明性和不可篡改性。在政务领域,可以用于数据共享、证照管理等方面,提高政务效率和数据安全性。
二、BCOS合约(BCOS_Contract)特点
- 智能合约机制
- BCOS_Contract遵循智能合约的基本原理。智能合约是一种自动执行的合约条款,以代码的形式部署在区块链上。它可以自动处理各种业务逻辑,无需第三方干预。
- 例如,在一个简单的商品交易场景中,BCOS_Contract可以在满足预设的条件(如收到货款、商品发货等)后,自动完成所有权的转移。
- 与BCOS平台的交互
- BCOS_Contract与BCOS平台紧密集成。它可以调用BCOS平台提供的各种功能,如账户管理功能、数据存储功能等。
- 同时,BCOS平台也为BCOS_Contract提供了运行环境,包括区块链的共识机制保障、节点之间的通信支持等,确保合约的正确执行。
- 安全性和可靠性
- 由于BCOS平台自身的安全特性,如加密算法的应用、节点的安全验证等,BCOS_Contract在运行过程中也具有较高的安全性。
- 在可靠性方面,BCOS的分布式架构确保了即使部分节点出现故障,BCOS_Contract仍然能够正常运行,只要满足平台的容错要求。
三、开发BCOS_Contract相关要点
- 开发语言
- 通常支持多种编程语言,如Solidity(在以太坊上广泛使用的智能合约语言,也可用于与BCOS类似概念的合约开发)、C++等。开发者可以根据自己的喜好和项目需求选择合适的语言。
- 开发工具
- 有专门的开发工具链辅助BCOS_Contract的开发。这些工具可以帮助开发者进行合约的编写、编译、部署以及调试等操作。
- 例如,可能包括一些可视化的集成开发环境(IDE),方便开发者进行代码的管理和操作。
四、未来发展趋势
- 性能优化
- 随着区块链技术的发展,BCOS_Contract有望在性能方面不断提升。例如,提高合约的执行效率,减少交易确认时间等。
- 跨链交互
- 未来可能会实现更多的跨链交互功能。BCOS_Contract可能会与其他区块链平台上的合约进行交互,拓展其应用范围和功能边界。
BCOS_Contract使用
FISCO BCOS和WeBASE Front开机默认已经启动,若没问题可以跳过启动部分从访问Webase Front开始
启动
启动FISCO BCOS
bash /home/nodes/127.0.0.1/start_all.sh
启动WeBase_Front
cd /home/webase-front
bash start.sh
访问Webase Front
http://{deployIP}:{frontPort}/WeBASE-Front
示例
:http://192.168.55.*:25002/WeBASE-Front
•部署服务器IP和服务端口需对应修改,网络策略需开通
•基于可视化控制台,可以开发智能合约,部署合约和发送交易,并查看交易和区块详情。还可以管理私钥,对节点健康度进行监控和统计
主要功能
1.区块链数据概览
2.节点管理
3.合约管理
4.系统监控
5.订阅事件
节点管理
节点管理功能可以用来查看节点信息,但是不能修改添加节点
合约管理
1、添加合约
管理平台提供两种添加合约的方式,一个是新建一个合约,一个是导入已有合约。同时合约编辑器还提供新建目录。用目录的形式管理合约,主要是为了解决同名合约引用的问题。合约添加完成后,需要编译保存。
2、部署合约
合约编译时会自动保存合约内容,编译成功后可以执行合约部署。
3、合约调用
在合约部署成功后,可以在合约IDE页面的右上角点击发交易,向合约发送交易进行合约调用。
交易发送成功后,将返回交易回执。可以在数据概览-交易列表-更多中根据transactionHash搜索交易,通过交易解析和Event解析查看可视化的交易回执信息。具体操作方法参考下文的区块链数据概览章节中的交易解析与Event解析。
测试用户
私钥管理提供了新建私钥用户和导入公钥用户两种用户导入方式。第一种方式主要用于新建用户(私钥托管在签名服务中),在管理平台的合约管理中部署和调用合约。第二种方式主要用于把交易和用户关联起来。
系统监控
系统监控包含了监控与异常告警两部分;
监控主要包括节点监控和主机监控,可以选择节点、时间范围等条件进行筛选查看:
•节点监控主要有区块高度,pbftview,待打包交易;
•主机监控主要有主机的CPU,内存,网络和硬盘IO;
主机指标
节点指标
示例:
养老保险合约
新建 测试用户
添加五个合约账户;admin、laodongju、gongan、beijingshebaoju、shanghaishebaoju、guzhu。
合约部署
部署合约选择admin 账户
设置角色接口
1.选择方法setRoles
2.用户选择admin
3.参数
3.1._gonganRole : gongan账户地址
3.2._adminRole: admin账户地址
3.3._laodongRole:laodong账户地址
新增社保局信息
1.选择方法addSocialSecurityDepartment
2.用户选择admin
3.参数
3.1.__user: Beijingshebaoju账户地址
3.2.__city: 城市名称
3.3.__contributionBase:缴费基数
3.4._personalContributionRate:个人供款率
3.5._companyContributionRate:公司供款率
添加Shanghaishebaoju的社保局信息,添加步骤同上
添加雇主
1.选择方法addEmployerAccount
2.用户选择admin
3.参数
3.1._employer: guzhu账户地址
3.2._companyName:公司名称
添加个人用户
1.选择方法addPersonalInfo
2.用户选择admin
3.参数
3.1._age: 年龄
3.2._id:个人用户id
3.3._name: 姓名
新增养老保险账户
1.选择方法addPensionAccount
2.用户选择admin
3.参数
3.1._id 身份证号
3.2._age 年龄
3.3._name 姓名
3.4._joiningDate 参与工作时间
3.5._salary 工资
3.6._city 所在城市
3.7._contributionBase 缴费基数
3.8._personalContributionRate 个人缴费比例
3.9._companyContributionRate 公司缴费比例