当前位置: 首页 > article >正文

Fisco Bcos 2.11.0配置console控制台2.10.0及部署调用智能合约

Fisco Bcos 2.11.0配置console控制台2.10.0及部署调用智能合约

文章目录

  • Fisco Bcos 2.11.0配置console控制台2.10.0及部署调用智能合约
    • 前言
    • 版本适配
    • 一、启动FIsco Bcos区块链网络
    • 二、获取控制台文件
    • 三、配置控制台
      • 3.1 执行download_console.sh脚本
      • 3.2 拷贝控制台配置文件
      • 3.3 修改控制台配置文件(如果channel端口发生变化)
      • 3.4 配置控制台证书
    • 四、启动控制台
    • 五、使用控制台部署调用智能合约
      • 5.1 查看内置合约
      • 5.2 部署Hello World合约
      • 5.3调用合约方法
    • 进阶知识点

前言

  • Fisco Bcos Console命令行交互控制台,是FISCO BCOS 2.0重要的交互式客户端工具,拥有丰富的命令,能够在连接Fisco Bcos区块链节点后,实现查询区块链信息和状态部署和调用智能合约管理区块链节点等功能。

  • Console2.6版本之后基于Java SDK实现(java JDK版本适配,请查看版本适配),请自行检查JAVA JDK版本或进行安装。

  • Console控制台的配置和使用,基于Fisco Bcos区块链网络搭建及成功运行之后。搭建区块链网络请查看博客:

    Fisco Bcos 2.11.0通过网络和本地二进制文件搭建单机节点联盟链网络(搭建你的第一个区块链网络)

  • console 2.11.0 目前正处于Pre-release版本,所以本篇博客将在ubuntu系统中,使用Java 14进行Console控制台v2.10.0版本的配置及使用

版本适配

  • FISCO-BCOS支持Java版本的SDK,并且大量的示例、周边项目都是基于JavaSDK,下列版本是官方已经验证的JDK版本:
JDK推荐版本
OracleJDK1.8.0_141、1.8.0_202、11.0.2、14.0.2、15.0.2
OpenJDK11.0.2、14.0.2、15.0.2
  • Fisco Bcos 2.x版本仅可部署console1.x和2.x版本的控制台,请检查并确定Fisco Bcos区块链的版本是否为2.x版本

一、启动FIsco Bcos区块链网络

bash nodes/127.0.0.1/start_all.sh

首先,进入fisco目录,执行上面的指令,启动区块链网络

如果没有搭建区块链网络请查看此博客文章:Fisco Bcos 2.11.0通过网络和本地二进制文件搭建单机节点联盟链网络(搭建你的第一个区块链网络)

在这里插入图片描述

如果已启动网络则会提示node is running

在这里插入图片描述

二、获取控制台文件

下载地址1:(国内用户推荐使用这个地址)

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

下载地址2:

curl -#LO https://github.com/FISCO-BCOS/console/releases/download/v2.9.2/download_console.sh

三、配置控制台

3.1 执行download_console.sh脚本

bash download_console.sh

执行完成后会增加console压缩包和console两个文件

接下来的操作都在console文件中进行

在这里插入图片描述
在这里插入图片描述

3.2 拷贝控制台配置文件

cd console
cp -n conf/config-example.toml conf/config.toml

在这里插入图片描述

3.3 修改控制台配置文件(如果channel端口发生变化)

  • 如果是按照作者专栏中的博客进行搭建的区块链网络,或者搭建区块链网络时采用的节点默认端口号,则跳过这一步
  • 如果在搭建区块链网络节点时,channel端口没有采用默认的20200端口,请进入config.toml中修改端口
cd conf
vim config.toml

在这里插入图片描述

3.4 配置控制台证书

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

在这里插入图片描述

四、启动控制台

bash start.sh

在这里插入图片描述

如果想要退出控制台,请在控制台内输入quitexit

五、使用控制台部署调用智能合约

接下来的操作都在console控制台中进行,所以请保证控制台处于启动状态

5.1 查看内置合约

为了方便用户快速体验,Fisco Bcos官方在控制台中已经内置了一个HelloWorld,位于控制台目录下contracts/solidity/HelloWorld.sol,大家可以直接部署

合约具体内容:

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合约提供两个接口,分别是get()set(),用于获取/设置合约变量name

5.2 部署Hello World合约

deploy HelloWorld

在这里插入图片描述

复制好 contract address 地址(每个人的地址都不一样):后面调用合约需要用到

5.3调用合约方法

  • 调用合约get方法
call HelloWorld 0x5c3754edd1835ce0f26300e24cadeead17adb77d get

在这里插入图片描述

合约的返回值为Hello,World!

  • 调用合约set方法
call HelloWorld 0x5c3754edd1835ce0f26300e24cadeead17adb77d set "Hi,FISCO BCOS"

在这里插入图片描述

返回状态:成功

这时候可以再次调用get方法,会发现此时合约的返回值已经发生了改变为Hi,FISCO BCOS

在这里插入图片描述

进阶知识点

查看当前区块链的块高命令

getBlockNumber

调用合约的get接口,并不会更改账本的状态

调用合约的set接口,会在账本中存储一个新的值,再此查看区块链的当前块高,会发现块高会增加,表示已出块,账本状态已更改

在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/news/311672.html

相关文章:

  • SpringAI-基于java大模型的胡言乱语
  • 正则表达式获取某些字段
  • docker快速搭建kafka
  • 【C++ Primer Plus习题】16.9
  • ATGM331C-5T杭州中科微BDS/GNSS全星座定位授时模块应用领域
  • 数据结构---二叉树例题讲解
  • 基于深度学习的手势识别算法(论文复现)
  • Vue使用组件需要加前缀而React使用组件库的区别
  • 单片机毕业设计基于单片机寻迹巡线避障智能小车系统设计
  • .NET 一直跻身 30 大Github最活跃开源项目之列。
  • JDK自带的序列化
  • sqli-labs靶场搭建
  • 鸿蒙OpenHarmony【轻量系统芯片移植案例】标准系统方案之瑞芯微RK3566移植案例
  • Datawhile 组队学习Tiny-universe Task01
  • 数据结构-2.8.单链表的建立
  • 【Spring】IocDI详解(6)
  • VMWare17.5.2中Windows7企业版安装VMWareTools失败及解决办法
  • stm32单片机个人学习笔记3(GPIO输出)
  • Python 正则表达式详解:从基础匹配到高级应用
  • 华为OD机试 - 构成指定长度字符串的个数(Python/JS/C/C++ 2024 E卷 100分)
  • <<编码>> 第 14 章 反馈与触发器(7)--分频器与计数器 示例电路
  • 提升工作效率,引领编程新时代
  • 【大模型开发】 迎接AI新时代:Qwen2.5发布,超越LLaMA3!本地私有化部署:如何通过一键API调用不同模型?(附源码地址)
  • 速盾:cdn一般多长时间清理下缓存?
  • 基于Ubuntu22.04的cups安装与配置
  • Servlet的继承结构
  • Java语言程序设计基础篇_编程练习题**18.31 (替换单词)
  • 网络爬虫requests访问请求过程
  • java识别图片上的文字、java中语言库tessdate的使用
  • Web APIs 第二天