Go应用程序中执行CosmWasm智能合约的wasmvm与wasmer绑定技术
需积分: 9 58 浏览量
更新于2024-12-05
收藏 4.04MB ZIP 举报
资源摘要信息:"wasmvm是一个Go语言编写的软件包,它封装了与CosmWasm智能合约交互的相关功能。这个包使得Go开发者能够编译、初始化并执行CosmWasm智能合约。它包含了Rust和Go两部分代码,Rust代码被编译为动态链接库(在Windows上为dll,在Linux和MacOS上为so),并且通过cgo工具链接到Go代码。wasmvm提供了一个友好的Go API,供Go开发者使用。为了方便用户,开发者还提供了预编译的库文件,以简化构建和链接过程。
在支持的平台方面,wasmvm要求用户使用的系统上安装有Rust 1.50及以上版本和Go 1.15及以上版本。预编译的库文件需要与用户的系统兼容,目前兼容的操作系统包括Linux(已在Ubuntu,Debian和CentOS7上测试)和MacOS。虽然有针对Windows系统的构建系统,但wasmvm依赖的Wasmer Singlepass后端在该系统上的构建存在问题,因此尚未支持Windows平台。
wasmvm软件包在结构上具有以下特点:
- Rust代码编译:将Rust代码编译为系统平台支持的动态链接库形式。
- Cgo链接:使用cgo工具将Rust编译的库链接到Go代码中。
- Go API:为Go开发者提供易于使用的API接口。
- 预编译库:为了方便开发者使用,提供了预编译的库文件。
使用wasmvm的主要场景包括但不限于:
- 从Go应用程序中与CosmWasm智能合约进行交互。
- 在Go环境中编译和执行CosmWasm智能合约。
- 在不同的操作系统上部署和运行智能合约。
wasmvm的使用,对于Go语言开发者而言,意味着他们可以不直接与底层的Rust库打交道,而通过Go语言提供的高级抽象来完成与CosmWasm智能合约的交互。这种封装方式简化了开发流程,提高了开发效率,并且有利于维护代码的可读性和可移植性。
开发者在使用wasmvm时需要关注的几个重要点包括:
- 确保安装了符合要求版本的Rust和Go。
- 确认目标操作系统兼容预编译的库文件。
- 了解如何通过Go代码调用wasmvm提供的API,并掌握其API的使用方法。
- 对于构建自定义库文件或者在未测试的操作系统上使用时,需要对构建过程有清晰的认识,并能够处理可能出现的问题。
通过理解wasmvm的这些核心知识点,Go开发者可以更有效地利用CosmWasm技术进行区块链智能合约的开发和部署,进一步拓宽了区块链技术的应用场景和开发能力。"
2021-03-04 上传
2021-03-09 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
小马甲不小
- 粉丝: 30
- 资源: 4714
最新资源
- 数学建模与数学实验课件14讲含源程序_第5讲 无约束优化.zip
- FileResize:扩展和截断现有文件 - 高效的 C-Mex-matlab开发
- Bounce game heir-crx插件
- phpray:php在线Test \ Debug \ Profile工具
- HTML_homework
- Temp---getaddr,c语言数学函数源码,c语言
- ReadTheJDK:JDK原始码阅读
- SMOTEBoost:用于处理数据中类不平衡问题的 SMOTEBoost 算法的实现。-matlab开发
- FillUpFinder
- Everyone Needs Love-crx插件
- nodejs-api-rest:分发议程和使用Node.js,Express,Mysql e Rest API,estásendo criando juntamente com or curso da Alura
- 给VB6编辑器添加鼠标滚轮的功能
- 2024AutoSec八周年年会PPR分享
- Primitive,c语言300行源码,c语言
- set border body for some websites-crx插件
- 麻将:在线,多人游戏(可使用机器人)