区块链-FISCO BCOS Go SDK使用(一)

这篇具有很好参考价值的文章主要介绍了区块链-FISCO BCOS Go SDK使用(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

go-sdk的安装

上一章,介绍了智能合约的编译和部署,这一章,介绍fisco-bcos go-sdk的用法,首先,先下载go-sdk源码到本地

  • Go开发环境

      • Golang >= 1.17
  • 基本开发组件

      • Git(Windows、Linux及MacOS需要)
      • Git bash(仅Windows需要)

下载go-sdk

如果用的是fisco-bcos2.x.使用以下命令

git clone -b master-FISCO-BCOS-v2 https://github.com/FISCO-BCOS/go-sdk.git
cd go-sdk/cmd/abigen/
go build

如果是fisco-bcos3.x

git clone  https://github.com/FISCO-BCOS/go-sdk.git
cd go-sdk/cmd/abigen/
go build

如果缺少库,可以提示安装,编译得到的abigen可以留作以后使用。

	go mod download github.com/FISCO-BCOS/crypto
	go get github.com/FISCO-BCOS/go-sdk/core/types
	go get github.com/FISCO-BCOS/go-sdk/cmd/abigen

bcos-c-sdk动态库准备

go-sdk v3依赖bcos-c-sdk动态库,需要先下载bcos-c-sdk动态库,然后将动态库放到指定目录下。

下载bcos-c-sdk动态库
从这里下载对应平台的动态库。我们提供了一个脚本,默认下载到/usr/local/lib目录下,如果需要下载到其他目录,可以使用脚本的-o选项

./tools/download_csdk_lib.sh

请将动态库放在/usr/local/lib目录下,后续无特殊操作。如果本机编译后在其他机器使用时,动态库放置在自定义目录,例如./lib,则go build需要添加ldflags参数,例如

go build -v -ldflags="-r ${PWD}/lib" main.go
也可以通过 export LD_LIBRARY_PATH=${PWD}/lib 设置动态库的搜索路径。

创建一个go工程

可以直接使用IDE编辑器,比如Goland
将webase里部署合约之后,生产的abi和bin分别保存到项目目录下
分别命名为:HelloWorld.abi, HelloWorld.bin
使用abigen编译abi和bin代码来得到go代码。

abigen -abi HelloWorld.abi -bin HelloWorld.bin -type hello -pkg bcos -out hello.go

这样,我们在项目下就能得到3个文件

HelloWorld.abi    HelloWorld.bin  hello.go

到这里,我们就可以直接通过hello.go里的方法去调用合约内容了。

⚠️ 这里生成的hello.go文件,不能修改,生产好之后,可能存在有些方法找不到的bug, 我们需要在go.mod文件里加上一行来解决,将go-sdk指向本地的代码,
go fisc-bcos 智能合约,区块链-fisco bcos篇,区块链,golang,开发语言文章来源地址https://www.toymoban.com/news/detail-806724.html

调用合约

package main

import (
	"context"
	"encoding/hex"
	facegateblock "fisco_bcso_demo/webs/fiscosdk"
	"fmt"
	"github.com/FISCO-BCOS/go-sdk/client"
	"github.com/ethereum/go-ethereum/accounts/abi"
	"github.com/ethereum/go-ethereum/common"
	"strings"
)

func main() {
	// 用户私钥,可以在webase私钥管理里获取
	privateKey, _ := hex.DecodeString("edab970c8c98fc5ecd3d6e8d46c96b30d1be924d4d88928d11fa5f29d1477fd9")
	config := &client.Config{IsSMCrypto: false, GroupID: "group0",
		PrivateKey: privateKey, Host: "192.168.1.135", Port: 20200, TLSCaFile: "conf/ca.crt", TLSKeyFile: "conf/sdk.key", TLSCertFile: "conf/sdk.crt"}
	client, err := client.DialContext(context.Background(), config)
	if err != nil {
		fmt.Println("DialContext err", err)
	}
	// 合约地址
	instance, err := facegateblock.NewHelloWorld(common.HexToAddress("0xa28ac30a792a59c3cd114a87a75193c6b8278d7e"), client)
}
	// 调用合约:查询接口
	msg, err := instance.GetMsg(client.GetCallOpts())
	fmt.Println("NewMain GetMsg", err)
	// 往合约里写入数据,形成区块
	_, receipt, err := instance.SetMsg(client.GetTransactOpts(), "hello fisco")
	// 区块的高度
	fmt.Println("blockNumber:", receipt.BlockNumber)
	// 此次交易的hash
	fmt.Println("TransactionHash:", receipt.TransactionHash)
	// 区块的hash
	fmt.Println("Hash:", receipt.Hash)

到了这里,关于区块链-FISCO BCOS Go SDK使用(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java SDK部署和调用FISCO BCOS区块链智能合约

    使用WeBASE合约管理导出Java项目 启动FISCO节点和webase-front,部署服务详情可参考官方文档: link 1.编写智能合约 一个简单的例子: Table 合约:该合约负责维护候选人的信息。每个候选人都有一个唯一的标识符sign_key,以及与之相关联的其他属性,包括活动名称activity_name、参与

    2024年03月22日
    浏览(55)
  • Fisco Bcos区块链一(搭建单群组FISCO BCOS联盟链)

    技术文档:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/index.html 1、搭建单群组FISCO BCOS联盟链 1. 安装centos依赖包 安装依赖包openssl、curl 2. 创建操作目录, 下载安装脚本 如果因为网络问题导致长时间无法下载build_chain.sh脚本,请尝试 3. 搭建单群组4节点联盟链 在fisco目录下执

    2024年02月10日
    浏览(46)
  • FISCO BCOS入门(十二)使用Docker部署区块链和多群组部署

    使用Docker部署区块链可以简化部署过程、提供环境一致性、增加可移植性、提升灵活性和可扩展性,并提供一定的安全性保障。这些好处使得Docker成为一种流行的部署方式,广泛应用于区块链开发和生产环境中。 前两步跟之前一样 1.安装 curl, openssl依赖 2.下载build_chain.sh脚本

    2024年03月15日
    浏览(53)
  • 搭建第一个区块链网络(Fisco-Bcos),启动并使用控制台

    1.安装依赖 centos7 Ubuntu 2.创建操作目录, 下载安装脚本 3. 搭建单群组4节点联盟链 搭建成功截图如下  4.启动FISCO BCOS链 启动成功截图如下  5.检查进程 检查进程是否启动  输出结果如下,如果进程数不为4,则进程没有启动(一般是端口被占用导致的)  6.检查日志输出 查看节

    2024年02月04日
    浏览(51)
  • FISCO BCOS 区块链(一)

    目录 一、搭建 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

    2024年01月24日
    浏览(47)
  • 搭建FISCO BCOS区块链平台

    这是为北京交通大学《区块链技术》课程制作的实验教程,因面向全校研究生开放选课,故提供了详细的步骤。本文是实验第一步,用于搭建FISCO BCOS区块链平台。 详细阅读FISCO BCOS官方文档: https://fisco-bcos-doc.readthedocs.io/zh_CN/latest/index.html VMware虚拟机安装包下载地址: https

    2024年02月06日
    浏览(51)
  • 1.平台介绍:FISCO BCOS 区块链

    区块链技术作为一种分布式、安全可信的数据记录和交互方式,正逐渐在各行各业展现出巨大潜力。然而,公共区块链的隐私性和性能限制使得企业更倾向于采用联盟链或私有链解决方案。 FISCO BCOS(Blockchain Open Consortium Operating System)作为一种企业级区块链平台,为企业和组

    2024年02月13日
    浏览(44)
  • Fisco Bcos区块链四(扩容节点)

    4、扩容节点 1. 操作命令 为保证区块链安全性,FISCO BCOS引入了游离节点、观察者节点和共识节点,这三种节点类型可通过控制台相互转换。 共识节点:参与共识的节点,拥有群组的所有数据(搭链时默认都生成共识节点)。 观察者节点:不参与共识,但能实时同步链上数据

    2024年02月05日
    浏览(51)
  • FISCO BCOS区块链建立配置启动

    创建操作目录, 下载安装脚本 搭建单群组4节点联盟链 启动FISCO BCOS链 安装java 获取控制台并回到fisco目录 拷贝控制台配置文件 配置控制台证书 编写HelloWorld合约 contract HelloWorld { string name; } 部署HelloWorld合约 调用HelloWorld合约 见https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/do

    2024年02月07日
    浏览(55)
  • 【FISCO BCOS】二十、多机部署区块链

    目录 一、准备环境 二、开始搭建 三、检查节点          1.检查节点进程

    2024年02月05日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包