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.mzph.cn/bicheng/54236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac下nvm无法安装node问题

背景 最近换用mac开发,然后使用nvm(版本0.40.1)进行node安装的时候出现了一些问题 使用 nvm ls-remote发现只有 iojs 版本 原因可能是nodejs升级了某个协议导致的 解决方案 可以使用 NVM_NODEJS_ORG_MIRRORhttp://nodejs.org/dist nvm ls-re…

数据结构(八)——Java实现七大排序

一、插入排序 1.直接插入排序 public static void insertSort(int []arr){for (int i 0; i < arr.length; i) {int j i-1;int tmp arr[i];for (; j >0 ; j--) {if(arr[j] > tmp){arr[j1] arr[j];}else{break;}}arr[j1] tmp;}}直接插入排序特性总结 1. 元素集合越…

TikTok商家如何通过真人测评提高流量和销量?

在当今的社交媒体营销领域&#xff0c;TikTok&#xff08;抖音国际版&#xff09;以其独特的短视频内容和庞大的用户群体&#xff0c;成为了品牌营销和产品推广的热门平台。其中&#xff0c;真人测评作为一种有效的营销策略&#xff0c;正逐渐受到商家的青睐。本文将探讨TikTok…

华硕产品资料的查询方法

华硕网站有些奇怪&#xff0c;比如我要查询x99-pro这款已经停售的主板的资料&#xff0c;在它的首页搜索&#xff0c;搜索结果为空&#xff1a; 然后在服务支持和下载中心&#xff0c;同样搜不到。 经高人指点&#xff0c;用下面的方法&#xff0c;可以搜到&#xff1a; https…

微信小程序页面制作——婚礼邀请函(含代码)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

web基础—dvwa靶场(四)​File Inclusion

File Inclusion(文件包含) 有些 web 应用程序允许用户指定直接文件流的输入&#xff0c;或允许用户将文件上载到服务器。稍后 web 应用程序访问 web 应用程序上下文中用户提供的输入。通过这样种操作&#xff0c;web 应用程序允许恶意文件执行。 如果选择要包含的文件是目标计…

【Hot100】LeetCode—51. N 皇后

目录 1- 思路题目识别回溯 2- 实现⭐51. N 皇后——题解思路 3- ACM 实现 原题链接&#xff1a;51. N 皇后 1- 思路 题目识别 识别1 &#xff1a;给定一个整数 n &#xff0c;求解如何放置棋子的问题。 回溯 回溯三部曲 1- 回溯参数和返回值 传参 cheeseBoard、n、row 传递…

如何设置 Django 错误邮件通知 ?

Django 是一个强大的 web 框架&#xff0c;非常适合那些想要完美快速完成任务的人。它有许多内置的工具和特性&#xff0c;一个有用的特性是 Django 可以在出现错误时发送电子邮件提醒。这对开发人员和管理员非常有用&#xff0c;因为如果出现问题&#xff0c;他们会立即得到通…

改编pikachu的打靶经历(题目不全)

前言 题目很少&#xff0c;只做了一些。正常版本的&#xff0c;完整的pikachu可参考下面这个师傅写的 https://www.cnblogs.com/henry666/p/16947270.html xss &#xff08;get&#xff09;反射xss 先尝试 1 这里有长度限制&#xff0c;而且&#xff0c;我改了长度&#xf…

MySQL_数据类型简介

课 程 推 荐我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448;入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448;虚 拟 环 境 搭 建 &#xff1a;&#x1…

文生视频算法

文生视频 Sora解决问题&#xff1a;解决思路&#xff1a; CogVideoX解决问题&#xff1a;解决思路&#xff1a; Stable Video Diffusion&#xff08;SVD&#xff09;解决问题&#xff1a;解决思路&#xff1a; 主流AI视频技术框架&#xff1a; Sora Sora: A Review on Backg…

Double Write

优质博文&#xff1a;IT-BLOG-CN 一、存在的问题 为什么需要Double Write&#xff1a; InnoDB的PageSize是16kb&#xff0c;其数据校验也是针对这16KB来计算的&#xff0c;将数据写入磁盘是以Page为单位的进行操作的。而计算机硬件和操作系统&#xff0c;写文件是以4KB作为基…

新能源汽车充电基础设施大爆发

新能源汽车充电基础设施迈入新阶段&#xff1a;全国总量破千万&#xff0c;未来五年将翻番增长 截至2024年7月底&#xff0c;全国充电设施总量已达到1060万台&#xff0c;为超过2500万辆新能源汽车提供了充电服务。目前&#xff0c;95%的高速公路服务区已具备充电功能&#xf…

MySql的基础讲解

一、初识MySql 数据库&#xff1a;按照数据结构来组织、存储和管理数据的仓库&#xff1b;是一个长期存储在计算机内的、有组织的、可共享 的、统一管理的大量数据的集合&#xff1b; OLTP&#xff1a;联机事务处理&#xff0c;主要是对数据库的增删改查。 OLTP 主要用来记录…

禁忌搜索算法(TS算法)求解实例---旅行商问题 (TSP)

目录 一、采用TS求解 TSP二、 旅行商问题2.1 实际例子&#xff1a;求解 6 个城市的 TSP2.2 **求解该问题的代码**2.3 代码运行过程截屏2.4 代码运行结果截屏&#xff08;后续和其他算法进行对比&#xff09; 三、 如何修改代码&#xff1f;3.1 减少城市坐标&#xff0c;如下&am…

关于安卓App自动化的一些想法

安卓App自动化一般使用PythonAppium。页面元素通常是使用AndroidStudio中的UI Automator Viewer工具来进行页面元素的追踪。但是这里涉及到一个问题就是&#xff0c;安卓apk在每次打包的时候&#xff0c;会进行页面的混淆以及加固&#xff0c;所以导致每次apk打包之后会出现页面…

(c++)字符串相加(真没想到字符串还有相加运算)

#include<iostream> #include<string> using namespace std;int main() {string ch1 "你好";string ch2 "再见";string ch3 ch1 ch2;cout << ch3 << endl;system("pause");return 0; } 运行结果&#xff1a; 学了c…

Qt与Udp

(1)绑定端口 (2)广播 用udp实现广播通信_udp广播-CSDN博客 数据的发送是面向整个子网的&#xff0c;任何一台在子网中的计算机都可以接收到相同的数据。 如果一台机器希望向其他N台机器发送信息&#xff0c;这时候可以使用UDP的广播。 --------------- 广播地址&#xff1…

云计算和虚拟化技术 背诵

https://zhuanlan.zhihu.com/p/612215164 https://zhuanlan.zhihu.com/p/612215164 云计算是指把计算资源、存储资源、网络资源、应用软件等集合起来&#xff0c;采用虚拟化技术 &#xff0c;将这些资源池化&#xff0c;组成资源共享池&#xff0c;共享池即是“云”。 云计算…

C++ | Leetcode C++题解之第406题根据身高重建队列

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {sort(people.begin(), people.end(), [](const vector<int>& u, const vector<int>& v) …