有些语言不会用?不用愁!百度超级链开源技术已经支持多种开发语言啦!

编程界语言之争、框架之斗,仿佛从未停止过……

Java、Python、C#,谁才是全世界最好的语言?

在区块链世界里,Go语言也加入了最好语言的争夺!

 

开源之后,百度超级链步履不停,

以前开发者开发者想编程访问节点的远程接口,只能对照protobuf的接口声明编写代码,

而现在,百度超级链提供了Go, Java, Python, C#四种主流语言的SDK,

无论你是哪个编程语言派,都可以在这里满足需求,易用性大大提升。

 

我们开源了哪些新能力呢?

我们开发了各种语言的SDK(Software Development Kit),方便开发者使用超级链。目前针对开源的XuperUnion项目提供了Go, Java, Python, C#四种主流语言的SDK,这些SDK提供了与链上节点的交互能力,涵盖了如下功能:

一、数字资产管理

a.数字资产转移:超级链使用XuperModel数据模型,兼容了经典的UTXO。 开发者可以通过调用Transfer接口,实现将某个账户的数字资产转移到其他账户。

b.余额查询:开发者可以调用GetBalance接口,查询某个Address或合约账号名下的数字资产余额。

二、状态查询

a.交易查询:通过交易ID可以查询已经发起过的交易的状态和内容,包括交易详情、合约运行结果、打包在哪个区块

b.区块查询:通过区块ID可以查询该区块的详细内容,包括区块高度、出块者、交易列表、时间戳、是否是孤块等等

c.系统状态查询: 查询当前节点托管了几条链,每条链的区块高度、最新的区块ID、创世区块ID、各个接口的TPS/QPS等信息。

三、智能合约

a.创建合约账号:超级链中的智能合约是部署在合约账号下面管理的,创建合约账号需要消耗一定的Gas,合约账号可以由多个私钥按照一定规则集体控制。这些参数可以在创建合约账号时设定。

b.部署合约:调用Deploy接口,将WASM字节码部署到超级链上,每个合约需要有一个唯一的名字标识。

c.调用合约:调用Invoke接口,并填入合约的输入参数,智能合约将会被运行,产生状态修改的“补丁”,然后交易原文+状态补丁整体经过SDK所关联的私钥进行签名,最终发送到区块链上。

d.查询合约:调用PreExec接口,并填入合约的输入参数,合约将会被运行,但是产生的状态修改不会生效到区块链,而是返回到调用者,用于调试或不需要上链的合约调用场景。

 

各语言的SDK应该如何使用呢?

附四种语言使用方法:

Go

github地址为 https://github.com/xuperchain/xuper-sdk-go

在项目里面import "github.com/xuperchain/xuper-sdk-go”即可使用go SDK

具体使用文档见项目WIKI https://github.com/xuperchain/xuper-sdk-go/wiki

 

Java 

github地址为 https://github.com/xuperchain/xuper-java-sdk

项目为maven工程,按照maven的依赖方式即可引入SDK。

具体使用方式见 https://github.com/xuperchain/xuper-java-sdk/blob/master/README.md 或者项目下的test用例。

 

Python 

github地址为 https://github.com/xuperchain/pythonsdk

项目已经上传到pip上,可以通过 pip install xuper来获取SDK

具体使用方式参考随项目发布的一个wallet demo。

 

C#

github地址为 https://github.com/xuperchain/xuper-sdk-csharp

该SDK依赖.Net Core 3.x 使用之前确保安装相关依赖。

通过dotnet add package XChainSDK来获取SDK

具体使用方式参见项目README

 

更多的功能会在后续慢慢加入,期待大家的使用和反馈, 也欢迎给我们提pull request。

本文由 区块链技术网 作者:百度超级链 发表,其版权均为 区块链技术网 所有,文章内容系作者个人观点,不代表 区块链技术网 对观点赞同或支持。如需转载,请注明文章来源。