【FB】基础知识
本文整理自官方资料
建议移步官方文档
FISCO BCOS
由微众银行、深圳市金融科技协会等国内机构共同发起成立的区块链联盟——金链盟,掌握多项核心技术,于2017年开源发布了以FISCO BCOS为代表的区块链底层平台和系列解决方案。这一系列开源项目都安全可控、性能优异、免费且易用,致力于服务实体经济,在大量关系国计民生的产业中已广泛落地,技术和模式得到了大量实际案例的验证。
如果您是一位工科、信息学方面的学生,那么建议您在学校打好学业基础,比如数学、算法和数据结构、概率论、博弈论、密码学等,掌握一两门主要的计算机语言,向经验丰富的教授和老师请教,积极参与学校的区块链社团活动,也可以参加到FISCO BCOS区块链开源技术社区和学校联合开展的课程中来,三天上手区块链应用。

搭建第一个区块链网络
支持的操作系统:
- 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.exe、ca.crt、sdk.crt和sdk.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

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号