美文网首页
FISCO BCOS之环境搭建

FISCO BCOS之环境搭建

作者: AI科技智库 | 来源:发表于2020-08-26 15:04 被阅读0次

    1 单群组FISCO BCOS联盟链的搭建

    本节以搭建单群组FISCO BCOS链为例操作,使用开发部署工具 build_chain.sh脚本在本地搭建一条4节点的FISCO BCOS链。

    1.1 下载build_chain.sh脚本
    curl -#LO https://gitee.com/FISCO-BCOS/FISCO-BCOS/raw/master/tools/build_chain.sh && chmod u+x build_chain.sh
    
    1.2 搭建联盟链
    bash build_chain.sh -l "127.0.0.1:4" -p 30300,20200,8545
    

    其中-p选项指定起始端口,p2p_port用于节点之间的交互,channel_port用于SDK访问,jsonrpc_port用于控制台访问。命令执行成功会输出All completed

    [INFO] Start Port      : 30300 20200 8545
    [INFO] Server IP       : 127.0.0.1:4
    [INFO] Output Dir      : /home/wxudong/learn/fisco/nodes
    [INFO] CA Path         : /home/wxudong/learn/fisco/nodes/cert/
    ==============================================================
    [INFO] Execute the download_console.sh script in directory named by IP to get FISCO-BCOS console.
    e.g.  bash /home/wxudong/learn/fisco/nodes/127.0.0.1/download_console.sh -f
    ==============================================================
    [INFO] All completed. Files in /home/wxudong/learn/fisco/nodes
    
    1.3 启动联盟链
    bash nodes/127.0.0.1/start_all.sh
    

    启动成功日志

     node1 start successfully
     node2 start successfully
     node0 start successfully
     node3 start successfully
    

    2 配置及使用控制台

    2.1 下载执行配置脚本
    cd ~/fisco && curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master/tools/download_console.sh
    ./download_console.sh
    
    2.2 控制台配置

    拷贝控制台配置文件

    cp -n console/conf/applicationContext-sample.xml console/conf/applicationContext.xml
    

    拷贝控制台证书

    cp nodes/127.0.0.1/sdk/* console/conf/
    
    2.3 启动控制台
    ./start.sh
    

    启动成功日志

    Welcome to FISCO BCOS console(1.1.0)!
    Type 'help' or 'h' for help. Type 'quit' or 'q' to quit console.
     ________ ______  ______   ______   ______       _______   ______   ______   ______  
    |        |      \/      \ /      \ /      \     |       \ /      \ /      \ /      \ 
    | $$$$$$$$\$$$$$|  $$$$$$|  $$$$$$|  $$$$$$\    | $$$$$$$|  $$$$$$|  $$$$$$|  $$$$$$\
    | $$__     | $$ | $$___\$| $$   \$| $$  | $$    | $$__/ $| $$   \$| $$  | $| $$___\$$
    | $$  \    | $$  \$$    \| $$     | $$  | $$    | $$    $| $$     | $$  | $$\$$    \ 
    | $$$$$    | $$  _\$$$$$$| $$   __| $$  | $$    | $$$$$$$| $$   __| $$  | $$_\$$$$$$\
    | $$      _| $$_|  \__| $| $$__/  | $$__/ $$    | $$__/ $| $$__/  | $$__/ $|  \__| $$
    | $$     |   $$ \\$$    $$\$$    $$\$$    $$    | $$    $$\$$    $$\$$    $$\$$    $$
     \$$      \$$$$$$ \$$$$$$  \$$$$$$  \$$$$$$      \$$$$$$$  \$$$$$$  \$$$$$$  \$$$$$$
    
    =============================================================================================
    [group:1]> 
    

    3 部署调用智能合约

    3.1 部署HelloWorld合约

    为了方便用户快速体验,HelloWorld合约已经内置于控制台中,位于控制台目录下contracts/solidity/HelloWorld.sol

    # 在控制台输入以下指令 部署成功则返回合约地址
    [group:1]> deploy HelloWorld
    contract address:0xb3c223fc0bf6646959f254ac4e4a7e355b50a344
    
    3.2 调用HelloWorld合约
    # 查看当前块高
    [group:1]> getBlockNumber
    1
    
    # 调用get接口获取name变量 此处的合约地址是deploy指令返回的地址
    [group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get
    Hello, World!
    
    # 查看当前块高,块高不变,因为get接口不更改账本状态
    [group:1]> getBlockNumber
    1
    
    # 调用set设置name
    [group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 set "Hello, FISCO BCOS"
    0x21dca087cb3e44f44f9b882071ec6ecfcb500361cad36a52d39900ea359d0895
    
    # 再次查看当前块高,块高增加表示已出块,账本状态已更改
    [group:1]> getBlockNumber
    2
    
    # 调用get接口获取name变量,检查设置是否生效
    [group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get
    Hello, FISCO BCOS
    
    # 退出控制台
    [group:1]> quit
    

    4 合约编译工具

    控制台提供一个专门的编译合约工具,方便开发者将solidity合约文件编译为java合约文件。 使用该工具,分为两步:

    • 将solidity合约文件放在contracts/solidity目录下。
    • 通过运行sol2java.sh脚本(需要指定一个java的包名)完成编译合约任务。例如,contracts/solidity目录下已有HelloWorld.sol、TableTest.sol、Table.sol合约,指定包名为org.com.fisco,命令如下:
    $ cd ~/fisco/console
    $ ./sol2java.sh org.com.fisco
    

    运行成功之后,将会在console/contracts/sdk目录生成java、abi和bin目录。
    java目录下生成了org/com/fisco/包路径目录。包路径目录下将会生成java合约文件。

    参考

    https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/installation.html

    相关文章

      网友评论

          本文标题:FISCO BCOS之环境搭建

          本文链接:https://www.haomeiwen.com/subject/jvnxsktx.html