返回顶部

【FB】基础知识

本文整理自官方资料
建议移步官方文档

FISCO BCOS

由微众银行、深圳市金融科技协会等国内机构共同发起成立的区块链联盟——金链盟,掌握多项核心技术,于2017年开源发布了以FISCO BCOS为代表的区块链底层平台和系列解决方案。这一系列开源项目都安全可控、性能优异、免费且易用,致力于服务实体经济,在大量关系国计民生的产业中已广泛落地,技术和模式得到了大量实际案例的验证。

如果您是一位工科、信息学方面的学生,那么建议您在学校打好学业基础,比如数学、算法和数据结构、概率论、博弈论、密码学等,掌握一两门主要的计算机语言,向经验丰富的教授和老师请教,积极参与学校的区块链社团活动,也可以参加到FISCO BCOS区块链开源技术社区和学校联合开展的课程中来,三天上手区块链应用。

image-20211211201519776

搭建第一个区块链网络

支持的操作系统:

  • CentOS 7.2+
  • Ubuntu 16.04+
  • macOS 10.14+
  • 麒麟V10
  • deepin
配置 最低配置 推荐配置
CPU 1.5GHz 2.4GHz
内存 1GB 8GB
核心 1核 8核
带宽 1Mb 10Mb

Ubuntu 16.04 64bit系统为例安装区块链网络

准备工作

sudo apt install -y openssl curl
## 创建操作目录
cd ~ && mkdir -p fisco && cd fisco

下载脚本

curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v2.8.0/build_chain.sh && chmod u+x build_chain.sh

在fisco目录下执行下面的指令,生成一条单群组4节点的FISCO链。

bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545
  • 其中-p选项指定起始端口,分别是p2p_port,channel_port,jsonrpc_port
  • 出于安全性和易用性考虑,v2.3.0版本最新配置将listen_ip拆分成jsonrpc_listen_ip和channel_listen_ip,但仍保留对listen_ip的解析功能,详细请参考 这里
  • 为便于开发和体验,channel_listen_ip参考配置是 0.0.0.0 ,出于安全考虑,请根据实际业务网络情况,修改为安全的监听地址,如:内网IP或特定的外网IP

启动所有节点

bash nodes/127.0.0.1/start_all.sh

检查

## 检查进程是否启动
ps -ef | grep -v grep | grep fisco-bcos
## 查看节点node0链接的节点数
tail -f nodes/127.0.0.1/node0/log/log*  | grep connected
## 检查是否在共识
tail -f nodes/127.0.0.1/node0/log/log*  | grep +++

配置及使用控制台

准备工作

# ubuntu系统安装java
sudo apt install -y default-jdk

获取控制台

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

配置控制台

# 最新版本控制台使用如下命令拷贝配置文件
cp -n console/conf/config-example.toml console/conf/config.toml
# 配置控制台证书
cp -r nodes/127.0.0.1/sdk/* console/conf/

使用控制台

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

# 获取客户端版本
[group:1]> getNodeVersion
# 获取节点信息
[group:1]> getPeers

部署及调用HelloWorld合约

pragma solidity ^0.4.24;

contract HelloWorld {
    string name;

    function HelloWorld() {
        name = "Hello, World!";
    }

    function get()constant returns(string) {
        return name;
    }

    function set(string n) {
        name = n;
    }
}

为了方便用户快速体验,HelloWorld合约已经内置于控制台中,位于控制台目录下contracts/solidity/HelloWorld.sol,参考下面命令部署即可。

# 在控制台输入以下指令 部署成功则返回合约地址
[group:1]> deploy HelloWorld

调用HelloWorld合约

# 查看当前块高
[group:1]> getBlockNumber
1

# 调用get接口获取name变量 此处的合约地址是deploy指令返回的地址
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get

# 查看当前块高,块高不变,因为get接口不更改账本状态
[group:1]> getBlockNumber
1

# 调用set设置name
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 set "Hello, FISCO BCOS"


# 再次查看当前块高,块高增加表示已出块,账本状态已更改
[group:1]> getBlockNumber
2

# 调用get接口获取name变量,检查设置是否生效
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get

# 退出控制台
[group:1]> quit

使用python SDK

前提条件:

  • Python环境:python 3.6.3, 3.7.x
  • FISCO BCOS节点
  • Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”解决方 法: https://visualstudio.microsoft.com/downloads (注意选择vs 2005即14.0版)或 https://pan.baidu. com/s/1ZmDUGZjZNgFJ8D14zBu9og 提取码: zrby
  • solc编译器下载成功后,解压,将其中的 solc.exe 文件复制 ${python-sdk}\bin 目录 下,若python-sdk路径为 D:\open-source\python-sdk , 则 solc.exe 文件复制路径为
    D:\open-source\python-sdk\bin\solc.exe

下载python SDK

git clone https://gitee.com/FISCO-BCOS/python-sdk

配置证书和solc

solc.execa.crtsdk.crtsdk.key拷贝到python-sdk\bin路径下

配置文件

    remote_rpcurl = "http://192.168.1.80:8545"  # 采用rpc通信时,节点的rpc端口,和要通信的节点*必须*一致,如采用channel协议通信,这里可以留空
    channel_host = "192.168.1.80"  # 采用channel通信时,节点的channel ip地址,如采用rpc协议通信,这里可以留空
    
    # ---------runtime related--------------
    # path of solc compiler
    solc_path = "./bin/solc.ece"

client_config.py.template更改后复制为client_config.py

下载依赖项

pip install -r requirements.txt
posted @ 2022-09-02 09:52  港澳  阅读(218)  评论(0)    收藏  举报