LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > 开发者请进:手把手教你在公链 Conflux 创建 DApp

开发者请进:手把手教你在公链 Conflux 创建 DApp

2020-07-28 链闻速递 来源:链闻

学会在 Conflux 上开发一个包含前端和智能合约的完整 DApp,从这篇开始。

撰文:黑曜石实验室

Conflux DApp 开发教程将使用 Conflux Studio 在 Oceanus 网络下开发一个简单的代币应用 Coin。

通过这个开发教程,你将会学习到如何进行 Conflux 智能合约的编写、调用,配置智能合约的代付以及如何使用 Web 前端项目与智能合约进行交互,从而实现一个包含前端和智能合约的完整的 DApp。

在阅读教程中遇到任何问题,欢迎在 Issues 中向我们反馈。

准备工作

安装 IDE

请在 GitHub 下载页面 下载 Conflux Studio。目前 Conflux Studio 支持 macOS 和 Linux 系统,请根据系统下载对应的版本。

正确安装 Conflux Studio 并初次启动后,Conflux Studio 将显示欢迎页面,根据提示完成 Docker, Conflux Node 以及 Conflux Truffle 的下载、安装及启动。

创建钱包

完成所有的安装步骤后,首先需要创建钥匙对来完成后续的合约部署以及调用。

在 Conflux Studio 的任意界面,点击应用左下?的钥匙图标,打开密钥管理器。点击 Create 按钮打开新钥匙对弹窗,输入钥匙对的名字并点击 Save 按钮。完成后将在密钥管理器中看到刚刚生成的钥匙对的地址。钥匙对由私钥和公钥组成,公钥在智能合约中也常被称作地址。

导出私钥可以通过点击每个地址后面的眼睛按钮打开查看私钥弹窗,弹窗显示地址以及私钥。后续教程中会需要通过管理器导出私钥。

为了顺利完成教程,首先需要创建三个钥匙对:

minter_key 用于 Coin 合约部署时的签名,是这个教程中最常使用的钥匙对receiver_key 用于 Coin 合约接收转账,将在后文中介绍转账时用到sponsor_key 用于 Coin 合约代付功能,将在后文中介绍代付功能时用到

连接 Conflux 网络

教程将在 Oceanus 网络进行合约的部署以及合约的调用。点击顶部 Network 标签的倒三角打开下拉菜单,点击选择 Oceanus 网络进行切换。

切换完成后,可以在主页面中看到当前网络为 oceanus。页面左边包括了当前网络的节点 URL,Chain ID,TPS 信息,页面右边包含了当前网络区块的信息。

申请测试 CFX

点击顶部 Explorer 标签打开区块浏览器,并在地址栏粘贴钥匙对地址,可以在左边看到当前地址的 CFX 余额信息。

在区块链的世界中,大家通常将申请测试 Token 的方式称为 faucet,目前在 Oceanus 网络下每次 faucet 申请到的 Token 为 100 CFX。

获取 CFX 的方式有两种方式:

输入地址后点击地址栏右边的水龙头按钮,Conflux Studio 将为地址自动申请 CFX你也可以直接在浏览器中输入
https://wallet.confluxscan.io/faucet/dev/ask?address={address}
来申请 CFX

使用上述方法在 Conflux Studio 中为 minter_key 和 sponsor_key 申请 CFX Token。完成申请后,这两个账户上的余额将会从 0 CFX 更新为 100 CFX。

目前余额信息为:

minter_key 余额 100 CFXreceiver_key 余额 0 CFXsponsor_key 余额 100 CFX

智能合约

创建项目

点击顶部左边的 Project 标签切换至项目列表页面,点击页面中的 New 按钮打开项目创建窗口,输入项目的名称并选择 coin 模版,点击 Create Project 完成项目的创建。

合约代码

Coin 合约是一个简单的代币合约,其中:

通过 mint 方法可以增发代币数量通过 send 方法可以将一定数量的代币转账给别的用户,同时会在事件中记录下这笔转账的信息通过 balanceOf 方法可以查询到指定账户地址的代币余额通过 add_privilege 方法可以为合约添加代付白名单通过 remove_privilege 方法可以为合约移除代付白名单

Conflux 智能合约使用 Solidity 语言进行开发,打开目录下的 contracts/Coin.sol 文件,查看项目的核心代码。

编译及部署合约

点击工具栏的 Build 按钮进行合约的编译,编译的结果将会保存在 build/Coin.json 文件中。

在部署合约前,首先需要确认在 Explorer 中选择合约部署所使用的地址,Conflux Studio 会使用这个地址将部署合约这笔交易进行签名(选择的方法为在 Explorer 的地址栏中输入地址)。在合约代码的 constructor 中,minter 被赋值为 msg.sender,这个 msg.sender 就是 Explorer 所选择的地址。

在此我们选择 minter_key 作为部署合约的签名者。

点击工具栏的部署按钮进行部署,部署完成后,部署结果会在 deploys 的 JSON 文件中,在这个文件中可以在 contractCreated 中找到当前合约部署的地址,后文中使用 contract_addr 来代表这个合约地址。

总结

在本开发教程中,我们学习了如何使用 Conflux Studio 来完成一个完整的 Coin DApp 开发,其中包括了:

使用钥匙对管理器创建账户及导出账户私钥切换 Oceanus 网络,查看网络信息账户申请 CFX Token创建、编译并部署项目解析 Coin 合约代码,学习如何编写合约的读写方法及事件使用合约浏览器调用 Coin 合约的代币增发、转账、查询余额及查询事件设置并使用智能合约的代付功能将私钥导入 Conflux Portal 并连接前端项目在前端项目中调用 Coin 合约的代币增发、转账、查询余额及查询事件解析前端项目代码,学习如何通过 Conflux Portal 和 Conflux JavaScript SDK 连接网络并实现交易

本文为节选内容,完整教程请 参见此处。

来源链接:github.com

—-

编译者/作者:链闻速递

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...