跳到主要内容

开发指南

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-20PRC-721.