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