SDKs
Conflux 有用于主流编程语言的 SDK,包括 JavaScript
, Golang
, Java
和 Python
。 本文为对SDK的简短介绍,详细的使用说明请查看SDK各自的文档。
官方SDK
js-conflux-sdk
如果您熟悉 JavaScript 或 Node.js,或者想要构建一个与您的合约交互的网站,那么 js-conflux-sdk
是适合您的工具。 它具有许多有用的功能。
const { Conflux } = require("js-conflux-sdk");
async function main() {
let conflux = new Conflux({
url: "https://test.confluxrpc.com",
networkId: 1,
});
let balance = await conflux.cfx.getBalance(
"cfxtest:aakkfzezns4h8ymx1cgmcnd4x3aev6e2he38nnu8sv"
);
console.log("balance: ", balance);
}
main().catch(console.log);
go-conflux-sdk
Go 语言是一种很棒的编程语言:它运行速度快,易于使用,且非常稳定。 在区块链领域,许多项目正在使用 Go 进行开发。 如果您想要开发一个需要与 Conflux 网络通信的后端服务,那么 go-conflux-sdk
是适合您的工具。
package main
import (
"fmt"
conflux "github.com/Conflux-Chain/go-conflux-sdk"
)
func main() {
client, err := conflux.NewClient("https://test.confluxrpc.com")
if err != nil {
fmt.Println("failed to create client:", err)
return
}
defer client.Close()
epoch, err := client.GetEpochNumber()
if err != nil {
fmt.Println("failed to get epoch number:", err)
return
}
fmt.Println("Current epoch number:", epoch)
}
java-conflux-sdk
Java 是一个经久不衰的编程语言。 java-conflux-sdk
可以用于与 Conflux 节点进行通信。 它是从 web3j 库进化而来的。 web3j 的一些工具函数同样也适用于 Conflux network。
package conflux.sdk.examples;
import java.math.BigInteger;
import conflux.web3j.Cfx;
public class App {
public static void main(String[] args) throws Exception {
int retry = 3;
int intervalMills = 1000; // interval(milliseconds) between retry
Cfx cfx = Cfx.create("https://test.confluxrpc.com", retry, intervalMills);
BigInteger epoch = cfx.getEpochNumber().sendAndGet();
System.out.println("Current epoch: " + epoch);
}
}
python-conflux-sdk
Python 是很多开发者的首选语言,我们也为您提供了 python-conflux-sdk
工具。
from conflux import (
Conflux,
HTTPProvider,
)
provider = HTTPProvider('https://test.confluxrpc.com')
c = Conflux(provider)
# get RPC's clientVersion
print(c.clientVersion)
test_address = 'cfxtest:aak7fsws4u4yf38fk870218p1h3gxut3ku00u1k1da'
balance = c.cfx.getBalance(test_address)
print(balance)
Solidity SDKs
thirdweb Solidity SDK
This SDK provides the tools needed to build custom smart contracts efficiently by offering a set of prebuilt base contracts and a set of reusable components, or extensions, that can be integrated into your own smart contracts.
Conflux-contracts
这是一个 Solidity package,包含了 Conflux DAPP 开发中常用的有用合约。 这个包类似于 OpenZeppelin 目前最常用的是 Conflux InternalContracts
。
OpenZeppelin
这是一个著名的安全智能合约开发库。 该库构建在社区审查的代码基础上,基础坚实可靠。
- 实现了 ERC20 和 ERC721 等标准
- 具有灵活的基于角色的权限控制方案。
- 提供可重用的 Solidity 组件,可用于构建自定义合约和复杂的分布式系统。
社区开发的 SDK
thirdweb SDK
SDK覆盖了Web3开发堆栈的各个方面,包括连接用户钱包、与区块链和智能合约交互、去中心化存储、身份验证等,使您能够在任何EVM兼容的区块链上构建可扩展且高性能的Web3应用程序。
cpp-conflux-sdk
Conflux C++ API 允许任何 C++ 客户端基于 JSON-RPC 2.0 协议与本地或远程的 Conflux 节点进行交互。 使用 Conflux C++ API,用户可以轻松管理账户、发送交易、部署智能合约和查询区块链信息。
.NET SDK
Nconflux 是 Conflux 的 .Net 集成库,简化了与 Conflux 节点的访问和智能合约交互。
Nconflux 是针对 netcore 3.1 和 .net 5 开发的,因此与所有操作系统(Windows、Linux、MacOS、Android 和 OSX)兼容,并已在云、移动设备、桌面、Xbox、Hololens 和 Windows IoT 上进行了测试。