🐔16 不同公链的智能合约
[TOC]
公链
不同公链的智能合约的编写、部署方式都有所不同,比较新的公链智能合约开发和 DApp 开发基本都和 ETH 差不多,如 Conflux 。ETH 的智能合约开发已经成为一种公链标准,而大部分热门公链也都会遵循 ERC 系列标准。
Conflux 树图链
Conflux 是一个国产公链
树图链官网 https://confluxnetwork.org/zh/
树图链的开发文档 https://developer.confluxnetwork.org/
树图链钱包类似
MetaMask的有两个,旧版本是ConfluxProtal,官方推荐使用Fluent。
树图链的智能合约
树图链的智能合约开发也可以使用 Solidity ,在智能合约开发上和以太坊没有差别,在以太坊能够正常部署执行的合约到树图链大部分能够一样执行。
合约的在线开发工具 https://chainide.com/s/conflux 和以太坊的 remix 几乎相同。
Fluent 插件钱包
创建账号的过程和
MetaMask类似,记录助记词账号创造完成。
钱包文档 https://fluent-wallet.zendesk.com/hc/en-001/sections/4410740784411-Developer-Documentation
ConfluxProtal文档 http://conflux-portal-docs.confluxnetwork.org/docs/portal/introduction/

Fluent
Fluent 基本使用
浏览器安装 Fluent 插件后,Fluent 插件在浏览器
window中对象名是conflux。
判断浏览器是否安装 Fluent
连接到 Fluent 钱包
调起 Fluent 转账
树图链的 js-conflux-sdk
js-conflux-sdk是 Conflux 的 javascript SDK,类似于 ETH 的web3.js,是用于前端和树图链节点交互,通过 HTTP/Websocket JSON-RPC 连接到 Conflux 节点。
除了
js-conflux-sdk外,树图链也有其它语言的 RPC SDK,但使用上和以太坊的接近,如 Java https://github.com/conflux-chain/java-conflux-sdk 脱胎于以太坊的web3j。
js-conflux-sdk的源码 https://github.com/Conflux-Chain/js-conflux-sdk
js-conflux-sdk的文档 https://confluxnetwork.gitbook.io/js-conflux-sdk/
js-conflux-sdk的 CDN https://cdn.jsdelivr.net/npm/js-conflux-sdk/dist/js-conflux-sdk.umd.min.js
js-conflux-sdk 的基本使用
js CDN
js 实例化
设置 provider
设置 provider 为 Fluent ,后面
myWeb3实例涉及需要签名、支付等操作都会调起 Fluent 进行操作。
投票 DApp 迁移到 Conflux 链
目前 以太坊 DApp 迁移到 Conflux 还不是很便捷,在涉及远程函数调用
send方式需要修改,货币单位等也需要修改。
js-conflux-sdk与web3.js对比文档 https://docs.confluxnetwork.org/js-conflux-sdk/jssdk-vs-web3源码 https://github.com/PandaManPMC/VoteDAppExample
Vite
Vite 是一款国人开发的公链,官网 https://www.vite.org/ , github https://github.com/vitelabs
Vite 不同于以太坊和 Conflux ,首先它的共识机制不是 POW ,不需要采矿,它是采用消息驱动的异步架构和基于 DAG 的反应式区块链。
Vite 前端也提供了
vitejsSDK,封装了 JSON RPC 与区块链节点进行交互,开发流程上和 Conflux 大同小异,也封装有 JAVA 等语言的 SDK。
Vite 智能合约
Vite 的智能合约开发是用 Solidity++ ,同 Solidity 有些许差异
Vite 的智能合约与以太坊的有些差异,因为 Vite 是一个完全不同的带有异步 VM 的区块链。Vite 上的所有消息调用都是完全异步的。
包括语义、语法上 Vite 上的 Solidity ++ 智能合约与以太坊的智能合约都有较大差异,因此以太坊的合约很可能无法直接复制到 Vite 部署,需要修改。
Vite 合约的差异文档描述 https://docs.vite.org/go-vite/contract/soliditypp.html
Last updated