FISCO BCOS 区块链(一)

2023-11-07

目录

一、搭建 FISCO BCOS 链

1、安装 openssl, curl 依赖

2、安装 build_chain 脚本

二、配置控制台

1、下载java jdk

2、安装控制台

3、拷贝配置文件以及证书

4、启动控制台

三、Java-SDK(idea版)

1、创建 project

 2、引入 Java-SDK依赖

3、sol2java.sh

4、导入所需资源

5、创建测试类


参考 FISCO BCOS 官方文档 v2.8.0

一、搭建 FISCO BCOS 链

1、安装 openssl, curl 依赖

sudo yum install -y openssl openssl-devel

2、安装 build_chain 脚本

在 home 目录下新建 fasco 文件夹,并切换到 fisco 目录下

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

修改 build_chain 脚本文件为可执行文件

chmod u+x build_chain.sh

生成一条单群组4节点的FISCO链

bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545

其中 -p 选项指定起始端口,分别是p2p_port(30300),channel_port(20200),jsonrpc_port(8545)

执行成功后,在 fabric 路径下生成nodes目录,nodes目录下包含生成的节点和证书

启动链

bash nodes/127.0.0.1/start_all.sh

二、配置控制台

1、下载java jdk

sudo yum install -y java java-devel

2、安装控制台

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

3、拷贝配置文件以及证书

注:客户端的启动需要 fasco bcos 链的相关配置文件以及生成链时产生的 ca

cp -n console/conf/config-example.toml console/conf/config.toml
cp -r nodes/127.0.0.1/sdk/* console/conf/

4、启动控制台

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

控制台的相关说明参考官方文档(包含编译高于0.4.25版本solidity合约的解决方法方法) 控制台2.6+版本https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/console/console_of_java_sdk.html

三、Java-SDK(idea版)

Java SDK 提供了访问 FISCO BCOS 节点的Java API,支持节点状态查询、部署和调用合约等功能,基 于Java SDK可开发区块链应用。

首先确保已经启动一条 FISCO BCOS 链

本示例以 FISCO BCOS 自带的

1、创建 project

在idea下创建一个Spring Boot项目

 2、引入 Java-SDK依赖

在 pom.xml 中导入 Java-SDK 的 Maven 坐标

        <dependency>
            <groupId>org.fisco-bcos.java-sdk</groupId>
            <artifactId>fisco-bcos-java-sdk</artifactId>
            <version>2.8.0</version>
        </dependency>

3、sol2java.sh

注:sol2java.sh 不仅可以编译出ABI和BIN文件,还可以自动生成一个与编译的智能合约同名的合约Java类

进入到 ~/fisco/console 使用 sol2java.sh,具体代码如下

bash sol2java.sh -p org.fisco.bcos

生成的 .java 文件保存在 -p 设置的包路径下 (org.fisco.bcos)

4、导入所需资源

包括:证书、配置文件、abi、bin、JavaBean

 其中,证书可从 ~/fisco/nodes/127.0.0.1/sdk 中拷贝出,放至 src/main/resources/conf 目录下

 配置文件可从 ~/fisco/console/conf 中拷贝出,放至 src/main/resources 目录下,config-example.toml 文件中的 IP地址需要由 127.0.0.1,改为虚拟机的 IP地址

注:solidity语言编写的链码需要编译成 ABI 和 BIN 文件才能使用 Java-SDK 部署至区块链网络上

abi、bin 文件可从 ~/fisco/console/contracts/sdk/ 路径下复制

JavaBean 从 ~/fisco/console/contracts/sdk/java/org/fisco/bcos/ 路径下复制

5、创建测试类

在 test 目录下创建对应的包,在包内创建 BcosSDKTest.java

核心代码:

// 获取配置文件路径
    public final String configFile = BcosSDKTest.class.getClassLoader().getResource("config-example.toml").getPath();
    @Test
    public void testClient() throws ConfigException {
        // 初始化BcosSDK
        BcosSDK sdk =  BcosSDK.build(configFile);
        // 为群组1初始化client
        Client client = sdk.getClient(Integer.valueOf(1));
        // 向群组1部署HelloWorld合约
        CryptoKeyPair cryptoKeyPair = client.getCryptoSuite().getCryptoKeyPair();
        HelloWorld helloWorld = null;
        try {
            helloWorld = HelloWorld.deploy(client, cryptoKeyPair);
        } catch (ContractException e) {
            e.printStackTrace();
        }

可以通过 client对象获取链上信息,通过 helloworld对象操作链码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FISCO BCOS 区块链(一) 的相关文章

  • 为什么要使用零知识证明来开发跨链协议

    用户需要什么样的跨链服务 在过去的几年当中出现了各种各样的独立公链以及以太坊 Layer 2 由于在安全性 低成本 快速交易以及开发者和用户社区差异等方面 不同链都具有各自不同的优势 用户在不同链之间切换使用的行为是很常见的 比起以太坊链
  • 区块链技术及应用概述

    一 基本概念 什么是区块链 区块链是一种以密码学方式保证的不可篡改和不可伪造的分布式账本 关键特点 去中心化 不可篡改性 匿名性 安全可信 区块链架构 1 数据层 主要描述区块链系统的物理形式 它是从Genesis区块开始的区块链链结构 包
  • Gikee 大数据

    据Gikee数据显示 今日13 58分 地址 1MAhRt279uYmVC1dUxKR6dWwEULBJT34Nh 向地址 1Fc4QQu6nEc4snAe4HAb4Kryd8koH89pYk 转了34010个BTC 价值约2 17亿美元
  • 区块链应用开发(智能合约的开发和WeBASE合约IDE的使用)

    文章目录 四 智能合约的开发和WeBASE合约IDE的使用 一 实验概述 二 实验目标 三 实验环境及建议 四 实验步骤 4 1 启动Webase 4 2 智能合约开发 4 2 1 合约功能设计 4 2 2 存证合约开发 4 2 3 工厂合
  • 中国太阳能热水器市场营销模式探析与品牌格局调研报告2022版

    中国太阳能热水器市场营销模式探析与品牌格局调研报告2022版 HS HS HS HS HS HS HS HS HS HS HS HS 修订日期 2021年11月 搜索鸿晟信合研究院查看官网更多内容 第一章 太阳能热水器相关概述 1 1 太阳
  • 两万字整理Fabric(超级账本) 配置文件 掌握了它就掌握了Fabric的核心

    导语 文章没有重复的地方 没有废话 如果能帮助到你 那是我的荣幸 记得一键三连哟 Fabric 配置文件详解 一 四个核心配置文件 二 Fabric 的核心配置文件 三 网络启动步骤 1 生成认证证书 crypto config yaml
  • 交易的本质 什么样的信仰,决定什么样的交易人生

    什么样的信仰 决定什么样的生活 同样 什么样的理念 也决定了什么样的交易 多数的交易员都把能否在交易市场稳定化盈利归结于自己从事这个行业的时间 通常很多人会说五年入门 十年小成等等 好像只要坚持个五年十年就能够在交易市场找到自己的位置 你信
  • 以太坊执行miner.start返回null( 转载)

    博文地址 http blog csdn net wo541075754 article details 78735711
  • Cumulus Encrypted Storage System(CESS)激励测试网 v0.7.5 于11月29日正式上线

    Cumulus Encrypted Storage System CESS 是基于区块链的去中心化云存储网络和 CDN 网络 支持数据在线存储和实时共享 为 Web3 高频动态数据的存储和检索提供全栈解决方案 CESS 数据价值网络是以 D
  • 扬帆证券:玻璃期价涨势强劲 投资者需理性看待

    上个交易周 国内产品期货商场全体工作平稳 其间 玻璃期货体现较为出色 主力合约上星期五午后忽然大幅拉升 毕竟收涨逾7 周内累计涨幅超越10 业内人士以为 近期玻璃期价走势强劲主要是受地产政策利好和本钱增加的推动 后市行情或将偏震动 上涨持续
  • 扬帆证券:A股风格或呈大小盘短期均衡

    上星期 A股商场接连弱势盘整格局 沪指于3000点上方窄幅轰动 前期小盘股占优的风格再度演绎 北交所个股体现继续生动 组织观念以为 近期北证50指数的动摇加剧 短期商场的风格或许会呈现大小盘均衡 进入12月 出资者对经济和商场的决心进一步上
  • 探索元宇宙链游戏:一场数字世界的奇妙融合

    随着互联网的飞速发展 以及人们不断对互动娱乐体验的要求提高 元宇宙渐渐成为人们追求的目标 而区块链技术的出现给元宇宙链游开发带来了新的机遇和挑战 一 元宇宙链游定义 元宇宙链游全称为基于区块链技术的元宇宙游戏 是一种新型的网络互动娱乐形式
  • Sui生态DeFi将参加Builder DAO举办的活动,为期三天畅谈如何Build on Sui

    LeadUp the Night是一个定期举办的MeetUp活动 由Builder DAO邀请区块链各方项目开发者 VC担任本活动的讲师 这个活动旨在促进区块链技术的发展和应用 让参与者有机会开发创新的区块链应用 探索区块链技术的潜力 12
  • 什么是虚值期权?什么是深度虚值期权?

    在期权市场里有一种合约的价格往往比较便宜 它就是虚值期权 也是最受欢迎的期权之一 虚值期权也就是高杠杆和波动被世人所爱 久闻的一日192倍行情就是出自于虚值期权 下文科普什么是虚值期权 什么是深度虚值期权 一 虚值期权是什么 虚值合约因为价
  • 在区块链中看CHAT的独特见解

    问CHAT 谈谈对区块链以及区块链金融的理解 CHAT回复 区块链是一种去中心化的分布式数据库技术 这种技术通过加密算法 使数据在网络中传输和存储的过程变得更加安全可靠 区块链的出现引领了存储 交易等形式的革命 改变了诸多行业的运作模式 首
  • 在区块链中看CHAT的独特见解

    问CHAT 谈谈对区块链以及区块链金融的理解 CHAT回复 区块链是一种去中心化的分布式数据库技术 这种技术通过加密算法 使数据在网络中传输和存储的过程变得更加安全可靠 区块链的出现引领了存储 交易等形式的革命 改变了诸多行业的运作模式 首
  • Sui限定版冬季任务来袭,100万份礼物和50万SUI在等你!

    在这个渐趋寒冷但节日氛围却日渐浓厚的冬日 Mysten Labs非常高兴地向大家宣布 限定版冬季任务已于北京时间12月19日凌晨3点正式启动啦 这次冒险任务充满刺激 奖励丰厚 快来 Mysten Labs任务网站 体验吧 对于参加过Ques
  • NFTScan | 01.01~01.07 NFT 市场热点汇总

    欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总 周期 2024 01 01 2024 01 07 NFT Hot News 01 空投 Mint Blockchain 将于 2024 年 1 月 10 号
  • 期货和期权哪个风险更大?有哪些相同和不同的地方?

    期货和期权这两个都是高风险 高收益的投资工具是两个相同的部分 而期货呢是保证金交易理论上亏损是无限的 而期权呢买入期权的话最大亏损也就是权利金 这个是两者的最大区别 下文科普期货和期权哪个风险更大 有哪些相同和不同的地方 本文来自 期权酱
  • 申泰勇教练的独家人物化身系列即将登陆 The Sandbox

    申泰勇 Shin Tae yong 教练是足球界的传奇人物 他来到 The Sandbox 推出了自己的专属人物化身系列 作为前 K 联赛中场球员和印尼队取得历史性成就的幕后教练 他的传奇经历现在已经影响到了虚拟世界 向过去 现在和未来致敬

随机推荐

  • JAVA string类型的年月日期获取前一个月日期

    废话不多说 代码如下 String date 2023 01 SimpleDateFormat simpleDateFormat new SimpleDateFormat yyyy MM Date newdate simpleDateFor
  • 各种开源协议介绍

    各种开源协议介绍 BSD Apache Licence GPL V2 GPL V3 LGPL MIT 原文连接 https www open open com bbs view 1319816219625
  • C#中的变量祥解

    一 C 数据类型 A 值类型 值类型变量可以直接分配一个值 它是从System ValueType派生而来 值类型直接包含数据 比如int char float 他们分别存储整型数据 字符 浮点数 当你申明一个值类型时 系统分别空间来存储值
  • MySQL中的读锁和写锁

    MySql锁 数据库都是悲观锁 java redis zookeeper会有乐观锁 锁的概念 MySQL中的锁 MyISAM锁 MyISAM共享读锁 MyISAM独占写锁 MyISAM锁调度 InnoDb InnoDb行锁 InnoDb表锁
  • 21天打卡挑战学习MySQL——《Docker容器安装》第三周 第七篇

    活动地址 CSDN21天学习挑战赛 前言 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级 可移植的容器中 然后发布到任何流行的 Linux 机器上 也可以实现虚拟化 Docker支持在主流的操作系统平台上使用 包括 Wind
  • RecyclerView曝光埋点

    RecyclerView曝光埋点 在做客户端埋点的时候 一般分为三类事件 页面浏览事件 元素点击事件 列表item元素曝光事件 页面浏览事件和元素点击事件在做代码埋点时可以很简单的进行埋点 对列表item元素曝光事件的埋点相对来说就麻烦许多
  • 2. 初识Python脚本

    Python的系列课程是写给零基础的小白看的 如果基础比较好的小伙伴可以暂时先不关注 等待后续课程 Hi 大家好 我是茶桁 之前的课程已经给大家讲解了Python相关特性和基本语法 那么这节课呢 我们尝试着从最简单的脚本来开始认识Pytho
  • IDEA 项目结构出现 0%classes,0% lines covered解决方法

    Ctrl Alt F6 然后取消勾选 中间的那个No Coverage
  • 苹果邮件怎么添加qq邮箱_iPhone自带邮件无法登陆QQ邮箱?

    要说现在什么邮箱用的最频繁 个人认为是QQ邮箱 但如今我们都喜欢在手机上处理一些事情 接收和回复邮件也不例外 不过许多iPhone用户可能都遇到过 在苹果手机自带邮件内添加QQ邮箱时 总是显示用户名或密码不正确 今天就来帮大家解决这个问题
  • C++参数传递与返回值

    1 const member function 常量成员函数 在类内 如果不改变数据 就写为常量成员函数 FUNCTION1 const 为什么要使用常量成员函数呢 for example template
  • 单目标应用:基于成长优化算法(Growth Optimizer,GO)的微电网优化调度MATLAB

    一 微网系统运行优化模型 微电网是由分布式电源 储能装置和能量转换装置等组成的小型发配电系统 具有成本低 电压低 污染小等特点 由于环保和能源压力 清洁可再生能源和分布式能源工业发展潜力巨大 微电网控制器可实现对电网的集中控制 采用分布式电
  • 使用 FasterTransformer 和 Triton 推理服务器部署 GPT-J 和 T5

    使用 FasterTransformer 和 Triton 推理服务器部署 GPT J 和 T5 文章目录 使用 FasterTransformer 和 Triton 推理服务器部署 GPT J 和 T5 简介 主要步骤概述 第 1 步 从
  • 点云从入门到精通技术详解100篇-定子装配过程中基于深度学习的易变形材料的点云分割

    目录 前言 易变形导线装配过程及问题 国内外相关研究现状 三维视觉的研究现状
  • Windows中Lua环境配置记录

    之前在Mac环境下配置了Lua的环境 因为装的是双系统 Mac有点不稳定 所以更多的时候我是在用Windows系统 所以就想在windows上也将环境配置好 一开始感觉windows应该很好配置 网上的教程应该有很多 可是当自己查起来的时候
  • 2022第十一届中国创新创业大赛全国总决赛在深圳举办

    为深入贯彻党的二十大精神和创新驱动发展战略 强化企业科技创新主体地位 支持企业融合创新 推进科技型创新型企业遴选和培育 加大金融对硬科技企业的支持力度 营造有利于科技型中小微企业成长的环境 推动创新链产业链资金链人才链深度融合 第十一届中国
  • 如何给信号加噪声,matlab

    Matlab信号上叠加噪声和信噪比的计算 http www ilovematlab cn thread 54155 1 1 html 出处 MATLAB中文论坛 在信号处理中经常需要把噪声叠加到信号上去 在叠加噪声时往往需要满足一定的信噪比
  • 深度学习模型学习笔记

    我作为新手的一些学习笔记 backbone 主干网络 主干网络大多时候指的是提取特征的网络 其作用就是提取图片中的信息 供后面的网络使用 这些网络经常使用的是Resnet VGG等 而不是我们自己设计的网络 因为这些网络已经证明了在分类等问
  • Centos LVS DR模式详细搭建过程

    目录 前言 1 1 LVS环境组网 2 2 ipvsadm安装前准备 2 3 httpd与ipvsadm下载 3 4 LVS负载均衡配置 4 5 真实WEB服务器配置及arp抑制 5 6 LVS负载均衡测试 6 7 附 arp抑制参数 7
  • Unity 鼠标拖拽控制旋转物体

    Unity 鼠标拖拽控制旋转物体 需求 鼠标左键拖拽 控制物体旋转 摄像机固定不动 可以使用下面的代码 但是当摄像机移动到物体背后时 出现拖拽旋转方向与摄像机在正面时相反的问题 gameObj transform Rotate transf
  • FISCO BCOS 区块链(一)

    目录 一 搭建 FISCO BCOS 链 1 安装 openssl curl 依赖 2 安装 build chain 脚本 二 配置控制台 1 下载java jdk 2 安装控制台 3 拷贝配置文件以及证书 4 启动控制台 三 Java S