开发指南
PlatON兼容EVM和WASM虚拟机,因此开发者可以使用更多高级语言来编写合约。这大大降低了编写合约的学习门槛,同时提高了处理合约交易的性能。该章节的文档可以帮助开发者在PlatON网络上快速编写、部署、调试合约,并基于合约开发各类Dapp应用。
#
什么是Dapp?Dapp,即Decentralized Application,是构建在区块链上的去中心化应用程序。
#
如何开发Dapp?从开发者角度出发,Dapp应用本质上是和合约交互的一个过程。可以通过web端直接调用合约,也可以通过SDKs和合约交互。整个开发过程大致分为开发环境准备、合约开发、前端和后台开发三大过程。
#
开发环境准备你可以根据开发需要,选择以下几种环境协助开发和测试。
- 私有网络-在本地搭建一个私有节点或者网络,可以帮助你快速开发调试本地应用。
- 开发网络-接入到开发网络可以帮助在较为开放的环境测试你的代码。
- 主网-当你在在私有网络和开发网络完成了全部测试,可以无缝迁移到PlatON主网
#
合约开发PlatON支持WASM和EVM双虚拟机,因此开发者可根据自己擅长的领域来选择合约的开发语言。
#
Solidity合约开发- 开发入门 - 你可以了解如何在PlatON网络部署、编译、发布、调用合约
- 最佳实践-对于如何合理设置手续费,如何规避因交易失败扣除手续费等合约编写规范的介绍
- 开发成本-介绍在PlatON上Slolidity合约部署调用的手续费成本以及和以太坊手续费的对比分析
- 安全指南-介绍如何提高合约的安全性
- 合约迁移-除了自己编写合约,你也可以从以太坊或其他支持Solidity合约的公链上迁移合约到PlatON网络
- 系统合约调用-如何在Solidity合约中调用系统合约
#
WASM合约开发WASM合约目前只支持C++
语言开发,也欢迎大家继续扩展其他主流语言的合约。
- 开发入门-介绍如何在PlatON上编译发布调用WASM合约
- 开发成本-介绍在PlatON上Wasm合约部署调用的手续费成本以及和以太坊手续费的对比分析
- 最佳实践-对于如何合理设置手续费,如何规避因交易失败扣除手续费等合约编写规范的介绍
- 合约库
#
前端或后台开发如果你想直接通过Web前端与合约直接交互,请参考以下文档:
- Samurai API-提供Web钱包开发支持
- JS SDK-如何使用JS与合约或PlatON网络进行交互
如果你想通过编写后端代码来和合约或PlatON网络进行交互,以下不同语言的SDK可以提供帮助:
#
如何发布PRC Token?由于PlatON继承了EVM虚拟机,理论上可以兼容所有以太坊标准协议的Token,目前常用的Token协议有PRC-20和PRC-721.