【03】FISCOBCOS配置及使用控制台

news2024/11/16 7:22:44

官网文档https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/installation.html#
配置及使用控制台
 第一步. 准备依赖
安装java (推荐使用java 14)

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

#centos系统安装java
sudo yum install -y java java-devel

在这里插入图片描述
【拓展,java设置环境变量,便于后面的应用】
官方文档https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/sdk/java_sdk/quick_start.html
经过上一步我们已经安装好了java,接下来修改环境变量

# 确认您当前的java版本
$ java -version
# 查看jdk版本号

在这里插入图片描述

添加java环境路径

$sudo vim /etc/profile

在这里插入图片描述

文件最后添加

export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 # 此处为自己的jdk版本号
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH:::
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

在这里插入图片描述i键 改成插入模式,Esc键退出插入模式,:wq保存退出

设置环境生效

source /etc/profile

在这里插入图片描述

=============================================================================
获取控制台并回到fisco目录

cd ~/fisco && curl -LO https://github.com/FISCO-BCOS/console/releases/download/v2.9.2/download_console.sh && bash download_console.sh

如果因为网络问题导致长时间无法下载,请尝试 cd ~/fisco && curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master-2.0/tools/download_console.sh && bash download_console.sh
具体而言,cd ~/fisco 命令将当前工作目录更改为 ~/fisco 目录,其中 ~ 表示用户的 home 目录。如果该目录不存在,则会创建它。

然后,curl -LO https://github.com/FISCO-BCOS/console/releases/download/v2.9.2/download_console.sh 命令使用 curl 工具从指定的 URL 下载控制台脚本,并保存在当前目录中。-LO 选项表示保持原始文件名,并将其保存到当前目录。

最后,bash download_console.sh 命令用于执行下载的脚本进行安装。该脚本将会自动下载并设置控制台所需的依赖项和配置文件。

通过执行上述命令,你将下载并安装 FISCO BCOS 控制台。该控制台可用于管理和操作 FISCO BCOS 区块链网络,并提供了一套丰富的命令行工具和图形界面。请注意,该命令的执行结果取决于当前所在的目录和用户的权限设置。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
拷贝控制台配置文件

若节点未采用默认端口,请将文件中的20200替换成节点对应的channel端口。

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

具体而言,cp 命令用于复制文件或目录。在这个指令中,-n 选项表示只在目标文件不存在时才执行复制操作,以避免覆盖已存在的文件。

指令中的第一个参数 console/conf/config-example.toml 是源文件的路径,它是控制台提供的示例配置文件。第二个参数 console/conf/config.toml 是目标文件的路径,它是你要创建的配置文件。

通过执行上述指令,将会复制示例配置文件 config-example.toml 到 config.toml,如果 config.toml 文件已经存在,则不会执行复制操作。

你可以在所需的位置创建配置文件,并根据需要进行相应的修改和自定义。在 FISCO BCOS 控制台中,配置文件 config.toml 用于指定控制台的各种设置,例如连接的区块链网络节点、账户信息、日志等配置项。
在这里插入图片描述
配置控制台证书

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

在这里插入图片描述
第二步. 启动并使用控制台
启动

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

是一个命令行指令,用于在指定目录下执行 start.sh 脚本。

具体而言,指令中的 cd ~/fisco/console 表示切换到 ~/fisco/console 目录,其中 ~ 表示当前用户的主目录(home directory)。这个目录是你要进入的工作目录。

接着,&& 运算符用于将两个命令连接起来,确保只有前一个命令成功执行才会执行后续的命令。

最后,bash start.sh 表示在当前目录下执行名为 start.sh 的脚本文件。这个脚本文件可能包含一系列的命令和操作,用于启动相关的应用程序或服务。
在这里插入图片描述
若1.x控制台启动失败,参考 Web3SDK启动失败场景https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/faq/connect.html
在这里插入图片描述

用控制台获取信息

# 获取客户端版本
[group:1]> getNodeVersion
ClientVersion{
    version='2.6.0',
    supportedVersion='2.6.0',
    chainId='1',
    buildTime='20200819 15:47:59',
    buildType='Darwin/appleclang/RelWithDebInfo',
    gitBranch='HEAD',
    gitCommitHash='e4a5ef2ef64d1943fccc4ebc61467a91779fb1c0'
}
# 获取节点信息
[group:1]> getPeers
[
    PeerInfo{
        nodeID='c1bd77e188cd0783256ee06838020f24a697f9af785438403d3620967a4a3612e3abc4bbe986d1e9dddf62d4236bff0b7d19a935a3cd44889f681409d5bf8692',
        ipAndPort='127.0.0.1:30302',
        agency='agency',
        topic=[

        ],
        node='node2'
    },
    PeerInfo{
        nodeID='7f27f5d67f104eacf689790f09313e4343e7887a1a7b79c31cd151be33c7c8dd57c895a66086c3c8e0b54d2fa493407e0d9646b2bd9fc29a94fd3663a5332e6a',
        ipAndPort='127.0.0.1:57266',
        agency='agency',
        topic=[
            _block_notify_1
        ],
        node='node1'
    },
    PeerInfo{
        nodeID='862f26d9681ed4c12681bf81a50d0b8c66dd5b6ee7b0b42a4af12bb37b1ad2442f7dcfe8dac4e737ce9fa46aa94d904e8c474659eabf575d6715995553245be5',
        ipAndPort='127.0.0.1:30303',
        agency='agency',
        topic=[

        ],
        node='node3'
    }
]

[group:1]>
  1. 部署及调用HelloWorld合约,这个合约系统自带了,在控制台目录下contracts/solidity/HelloWorld.sol
    HelloWorld合约提供两个接口,分别是get()和set(),用于获取/设置合约变量name。合约内容如下:
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合约

在控制台输入以下指令 部署成功则返回合约地址

[group:1]> deploy HelloWorld
在这里插入图片描述
第三步. 调用HelloWorld合约

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

# 调用get接口获取name变量 此处的合约地址是deploy指令返回的地址
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get
---------------------------------------------------------------------------------------------
Return code: 0
description: transaction executed successfully
Return message: Success
---------------------------------------------------------------------------------------------
Return values:
[
    "Hello,World!"
]
---------------------------------------------------------------------------------------------

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

# 调用set设置name
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 set "Hello, FISCO BCOS"
transaction hash: 0x7e742c44091e0d6e4e1df666d957d123116622ab90b718699ce50f54ed791f6e
---------------------------------------------------------------------------------------------
transaction status: 0x0
description: transaction executed successfully
---------------------------------------------------------------------------------------------
Output
Receipt message: Success
Return message: Success
---------------------------------------------------------------------------------------------
Event logs
Event: {}

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

# 调用get接口获取name变量,检查设置是否生效
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get
---------------------------------------------------------------------------------------------
Return code: 0
description: transaction executed successfully
Return message: Success
---------------------------------------------------------------------------------------------
Return values:
[
    "Hello,FISCO BCOS"
]
---------------------------------------------------------------------------------------------

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
quit 退出
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1035144.html

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

相关文章

深入了解Java中的StringJoiner类

在Java编程中,字符串的拼接是一个常见的操作。Java提供了多种方法来实现字符串拼接,其中之一就是StringJoiner类。本文将详细介绍StringJoiner的用法和功能。 StringJoiner简介 StringJoiner是Java 8引入的一个用于拼接字符串的工具类。它允许我们以指定…

如何建立团队知识库管理系统,把分散信息有效整理?

对于我们广大企业管理者来说,知识库作为一个「统一的资料收集中心」,意义在于将分散的资料集中起来,统一处理,降低管理成本。 以常见的项目小组为例,如果你希望将小组内优秀的方法论和工作SOP文档在整个部门分享学习&a…

PID之Simulink仿真

昨天,在中南大学面试的老师,老师突然问到如何调PID,关于PID,我只知道一些基本概念,实际中并没有做过相关PID的项目,就连仿真也没搞过,所以今天就照着网上的教程做了PID的仿真,调PID的…

【李沐深度学习笔记】自动求导实现

课程地址和说明 自动求导实现p2 本系列文章是我学习李沐老师深度学习系列课程的学习笔记,可能会对李沐老师上课没讲到的进行补充。 自动求导 # 创建变量 import torch x torch.arange(4, dtypetorch.float32) #只有浮点数才能求导 # 计算y关于x的梯度之前&#x…

VUE之模板解析(v-for)

v-for的多种写法 1. item in list 2. (item, index) in list 3. (item, name, index) in object forAliasRE 非贪婪模式匹配 ? 正则表达式默认都是贪婪匹配,添加?后将其变成非贪婪模式 由下面例子可以看出如果没有添加?正则…

虚拟机软件Parallels Desktop 18 mac中文新增功能(PD18虚拟机)

Parallels Desktop 18可以在 Mac 计算机上下载并安装 Windows 操作系统。在 Mac 与 Windows 之间无缝复制和粘贴文本或拖放对象。在 Mac 虚拟机中跨多个操作系统开发和测试。毫不费力地运行 Windows 应用程序,不会减慢 Mac 的运行速度。 Parallels Desktop 18 for M…

lv5 嵌入式开发-5 线程的创建和参数传递

目录 1 线程基础 2 Linux线程库 2.1 线程创建 – pthread_create 2.2 线程结束 – pthread_exit 2.3 线程查看tid函数 2.4 线程间参数传递(重点) 2.4.1 练习 2.5 线程查看命令(多线程) 2.6 线程回收 – pthread_join 2.…

【重新定义matlab强大系列十四】基于问题求解有/无约束非线性优化

🔗 运行环境:Matlab 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 #### 防伪水印——左手の明天 #### 💗 大家好🤗&#x1f91…

玩转Mysql系列 - 第22篇:mysql索引原理详解

这是Mysql系列第22篇。 背景 使用mysql最多的就是查询,我们迫切的希望mysql能查询的更快一些,我们经常用到的查询有: 按照id查询唯一一条记录 按照某些个字段查询对应的记录 查找某个范围的所有记录(between and) …

如何解决python安装Crypto失败的问题

文章目录 准备安装相关链接准备 Python Crypto模块是一个第三方库,它提供了常见的加密算法和协议,比如AES、RSA、DES等。 PyCrypto 是加密工具包 Crypto 的 python 版,该模块实现了各种算法和协议的加密,提供了各种加密方式对应的算法的实现,包括单向加密、对称加密及公钥…

Linux(ubuntu)系统更新后不能进入图形界面

最近需要跑一个深度学习的程序,把许久没用的ubuntu系统调了出来,手欠的我更新了一下系统,结果再启动,系统就只停留在光标闪动那里,不能看到图形界面了。网上查了一下,说是因为更新后,显卡驱动没…

MySQL 8.0数据库主从搭建和问题处理

错误处理: 在从库通过start slave启动主从复制时出现报错 Last_IO_Error: error connecting to master slaveuser10.115.30.212:3306 - retry-time: 60 retries: 1 message: Authentication plugin caching_sha2_password reported error: Authentication require…

【draw】draw.io怎么设置默认字体大小

默认情况下draw里面的字体大小是12pt,我们可以将字体改成我们想要的大小,例如18pt。 然后点击样式,设置为默认样式。 下一次当我们使用文字大小时就是18pt了。

html和css相关操作

html第一个网页 <!DOCTYPE html> <!--html文档声明&#xff0c;声明此文档是一个html5的文档--> <html> <!--html文档开头标签--><head><!--html文档的设置标签&#xff0c;文档的设置及资源的引用都写在这个标签中--><meta charset&q…

[论文笔记]Prefix Tuning

引言 今天带来微调LLM的第二篇论文笔记Prefix-Tuning。 作者提出了用于自然语言生成任务的prefix-tuning(前缀微调)的方法,固定语言模型的参数而优化一些连续的任务相关的向量,称为prefix。受到了语言模型提示词的启发,允许后续的token序列注意到这些prefix,当成虚拟toke…

1793_树莓派杂志第一期MagPi01阅读

全部学习汇总&#xff1a; GreyZhang/little_bits_of_raspberry_pi: my hacking trip about raspberry pi. (github.com) 给自己的产品起一个好听的名称&#xff0c;我觉得这个是国外的企业中很好的一种文化。这里提到的苹果、黑莓等全都是一系列的水果。树莓派也有这样的风格&…

命令行程序测试自动化

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程&#xff0c;刷完面试就稳了&#xff0c;你也可以当高薪软件测试工程师&#xff08;自动化测试&#xff09; 这几天有一个小工具需要做测试&#xff0c;是一个命令行工具&#xff0c;这个命令行工具有点类似mdbg等命…

【Vue+Element-UI】实现登陆注册界面及axios之get、post请求登录功能实现、跨域问题的解决

目录 一、实现登陆注册界面 1、前期准备 2、登录静态页实现 2.1、创建Vue组件 2.2、静态页面实现 2.3、配置路由 2.4、更改App.vue样式 2.5、效果 3、注册静态页实现 3.1、静态页面实现 3.2、配置路由 3.3、效果 二、axios 1、前期准备 1.1、准备项目 1.2、安装…

pytorch学习------数据集的使用方式

一、前言 在深度学习中&#xff0c;数据量通常是都非常多&#xff0c;非常大的&#xff0c;如此大量的数据&#xff0c;不可能一次性的在模型中进行向前的计算和反向传播&#xff0c;经常我们会对整个数据进行随机的打乱顺序&#xff0c;把数据处理成一个个的batch&#xff0c…

【力扣1464】数组中两元素的最大乘积

&#x1f451;专栏内容&#xff1a;力扣刷题⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;前路未远&#xff0c;步履不停 目录 一、题目描述二、题目分析1、排序2、最值模拟 一、题目描述 题目链接&#xff1a;数组中两元素的最大乘积 给你一个整数数…