当前位置:   article > 正文

搭建第一个区块链网络(Fisco-Bcos),启动并使用控制台_区块链fisco bcos搭建教程

区块链fisco bcos搭建教程

一、搭建第一个区块链网络

1.安装依赖

centos7

sudo yum install -y openssl openssl-devel

Ubuntu

sudo apt install -y openssl curl

2.创建操作目录, 下载安装脚本

  1. ## 创建操作目录
  2. cd ~ && mkdir -p fisco && cd fisco
  3. ## 下载脚本
  4. curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v2.9.1/build_chain.sh && chmod u+x build_chain.sh

3. 搭建单群组4节点联盟链

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

搭建成功截图如下

 4.启动FISCO BCOS链

bash nodes/127.0.0.1/start_all.sh

启动成功截图如下

 5.检查进程

检查进程是否启动

ps -ef | grep -v grep | grep fisco-bcos

 输出结果如下,如果进程数不为4,则进程没有启动(一般是端口被占用导致的)

 6.检查日志输出

查看节点node0链接的节点数

tail -f nodes/127.0.0.1/node0/log/log*  | grep connected

输出结果如下,正常情况会不停地输出连接信息,从输出可以看出node0与另外3个节点有连接

 检查是否在共识

tail -f nodes/127.0.0.1/node0/log/log*  | grep +++

输出结果如下,正常情况会不停输出 ++++Generating seal,表示共识正常

 

二、配置及使用控制台

1.准备依赖

 安装Java

  1. # ubuntu系统安装java
  2. sudo apt install -y default-jdk
  3. #centos系统安装java
  4. sudo yum install -y java java-devel

获取控制台并回到fisco目录

cd ~/fisco && curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master-2.0/tools/download_console.sh && bash download_console.sh

拷贝控制台文件

  1. # 最新版本控制台使用如下命令拷贝配置文件
  2. cp -n console/conf/config-example.toml console/conf/config.toml

配置控制台证书

cp -r nodes/127.0.0.1/sdk/* console/conf/

2.启动并使用控制台

 启动

cd ~/fisco/console && bash start.sh

输出下述信息表明启动成功 否则请检查conf/config.toml中节点端口配置是否正确

 用控制台获取信息

  1. # 获取客户端版本
  2. [group:1]> getNodeVersion
  3. ClientVersion{
  4. version='2.6.0',
  5. supportedVersion='2.6.0',
  6. chainId='1',
  7. buildTime='20200819 15:47:59',
  8. buildType='Darwin/appleclang/RelWithDebInfo',
  9. gitBranch='HEAD',
  10. gitCommitHash='e4a5ef2ef64d1943fccc4ebc61467a91779fb1c0'
  11. }
  12. # 获取节点信息
  13. [group:1]> getPeers
  14. [
  15. PeerInfo{
  16. nodeID='c1bd77e188cd0783256ee06838020f24a697f9af785438403d3620967a4a3612e3abc4bbe986d1e9dddf62d4236bff0b7d19a935a3cd44889f681409d5bf8692',
  17. ipAndPort='127.0.0.1:30302',
  18. agency='agency',
  19. topic=[
  20. ],
  21. node='node2'
  22. },
  23. PeerInfo{
  24. nodeID='7f27f5d67f104eacf689790f09313e4343e7887a1a7b79c31cd151be33c7c8dd57c895a66086c3c8e0b54d2fa493407e0d9646b2bd9fc29a94fd3663a5332e6a',
  25. ipAndPort='127.0.0.1:57266',
  26. agency='agency',
  27. topic=[
  28. _block_notify_1
  29. ],
  30. node='node1'
  31. },
  32. PeerInfo{
  33. nodeID='862f26d9681ed4c12681bf81a50d0b8c66dd5b6ee7b0b42a4af12bb37b1ad2442f7dcfe8dac4e737ce9fa46aa94d904e8c474659eabf575d6715995553245be5',
  34. ipAndPort='127.0.0.1:30303',
  35. agency='agency',
  36. topic=[
  37. ],
  38. node='node3'
  39. }
  40. ]
  41. [group:1]>

三、部署及调用HelloWorld合约

1.编写智能合约

HelloWorld合约提供两个接口,分别是get()set(),用于获取/设置合约变量name。合约内容如下:

  1. pragma solidity ^0.4.24;
  2. contract HelloWorld {
  3. string name;
  4. function HelloWorld() {
  5. name = "Hello, World!";
  6. }
  7. function get()constant returns(string) {
  8. return name;
  9. }
  10. function set(string n) {
  11. name = n;
  12. }
  13. }

2.部署HelloWorld合约

 3.调用HelloWorld合约

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/432311
推荐阅读
相关标签
  

闽ICP备14008679号