IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 领取价值100美元的XTC代币构建一个Dfinity Dapp -> 正文阅读

[区块链]领取价值100美元的XTC代币构建一个Dfinity Dapp

图片

在每个区块链网络都有相对应的一种通证代币用于使用网络的一种计算、存储Gas费用,每个网络的Gas费用计量因二级市场通证代币的价格而异,所以随着二级市场代币价格的上涨随之上涨的也有用于支付网络行为中的Gas费用,而Dfinity采用的是反Gas token模型(网络采用Cycles 稳定币的Gas模型),这种Gas Token模型不管是对开发人员还是用户来说都受益。

Cycles在Dfinity中代表的主要角色是通过ICP协议将Cycles支付给数据中心然后获取相对应的计算力和存储容量等,而每T的Cycles的成本费用都是恒定的,1Cycles等于1SDR/1.42美元,Cycles只能由ICP来兑换。虽然ICP的价格在是变量的但是在NNS中会不断的发起调节ICP兑换Cycles兑换比例的经济提案来保证网络Gas的稳定,所以Dfinity上的计算成本几乎是恒定的。

Cycles目前只能通过Cycles wallet发送和接收(Cycles Wallet接收Cycles使用的是容器ID),这就造成了用户必须使用Cycles Wallet才能管理Cycles的局面,而Dank通过封装Cycles铸造与Cycles1:1兑换的XTC代币使用户可以绑定Principal ID自由管理Cycles便捷服务。

图片

以下指南是如何领取免费的XTC然后部署一个容器:

在本指南中使用的是如何用Dank中的Cycles封装币XTC通过DFX命令行工具部署容器,目前可以通过两种方法领取执行该操作,第一种是将DFX中的Principal ID或者使用Plug钱包中的Principal ID领取。

一、安装DFX

在Dfinity中的软件开发工具包中有一个可以通过命令行与IC交互的开发工具,如果没有安装,打开终端壳层(shell)运行以下命令下载最新版本Canister SDK:

sh -ci "$(curl -fsSL https://sdk.dfinity.org/install.sh)"

SDK安装详细版教程:

https://sdk.dfinity.org/docs/quickstart/local-quickstart.html

注意:本指南使用的是DFX V0.8.0,DFX可能会发生变化,如果在本指南中遇到任何问题可以通过以下命令检查SDK的版本:

dfx --version

二、安装好Canister SDK之后,通过Cycles Faucet获取XTC代币:

Cycles Faucet是由Dfinity和Fleek联合发起的一个Cycles 水龙头,它向任何符合条件的开发人员提供一次性价值100美元的Cycles,开发人员可以通过Cycles Wallet或者Dank中的XTC代币领取Cycles,本指南是通过领取XTC代币作为领取方式。

图片

Cycles Faucet:

https://faucet.dfinity.org/auth

领取XTC代币的方式也会有两种,第一种是使用DFX生成的Principal ID进行兑换,打开命令行工具运行以下命令来获取DFX身份的Principal ID:

dfx identity get-principal

运行结束后将得到的字符串(Principal ID)复制粘贴至Cycles Faucet中,然后选择Dank 的XTC代币作为领取方式。Principal ID它们看起来是这样的:

hvyw2-syv47-codpk-xtphw-3cqcr-f2ygz-s2old-bxd7z-doykg-vib37-pqe

第二种方式是直接使用Plug Wallet生成的Principal ID进行领取,第二种方法领取的方式相对于第一种方法简单一些,但是会多一步将Principal ID导入DFX中的步骤:

因为Plug中的Princinpal ID是从Plug Wallet中生成的,而没有作为身份存在于DFX中,所以要将Plug Wallet中的Principal ID导入进DFX中,这个过程需要一个.pem文件,该文件允许DFX使用一些方法来安全的导入与Principal ID 关联的密钥,Plug中构建了一项便捷功能可以将与Plug Walle中Principal ID关联的.pem文件创建下载。

?Plug Principal ID导出.pem文件

注意:该文件关联的是与Principal ID中的密钥,要妥善保管此文件

文件下载之后返回至终端壳层使用以下命令将下载的.pem文件作为路由(将Plug钱包中的Principal ID导入DFX工具中):

dfx identity import <new-identity-name> <path-to-pem>

命令运行结束后使用以下命令切换到创建的DFX身份:

dfx identity use <new-identity-name>

三、使用XTC部署容器

Canistes SDK、DFX中的Principal ID以及XTC代币是本指南部署容器的先决条件,首先导航到本地计算机要创建项目的目录,在终端窗口使用以下命令创建一个新的DFX项目:

dfx?new?<project-name>

图片

在默认情况下会自动加载 “Hello Word”应用程序,该应用程序会带有一个用Motoko编写的后端容器,以及一个用HTML、CSS和JavaScript编写的前端容器。

如果你已经构建了容器,并且想添加自己的任何容器进行部署,可以将它们添加到src文件夹中,并相应的更新dfx.json文件,默认情况下DFX项目使用wevpack为前端提供框架,所以需要在根目录中安装node.js才能编译到前端,所以需要导航到刚刚创建的DFX项目的根目录并运行以下命令安装node.js:

npm install

四、将node.js安装好之后需要将XTC Canister设置为DFX钱包(将XTC Canister作为支付Cycles的钱包)。

在部署容器之前需要先与XTC容器进行交互,然后将XTC容器设置为DFX上使用的身份Cycles钱包,而使用与Principa ID账户中的XTC代币可以通过以下命令调用XTC容器中相对应的Cycles部署容器:

dfx identity --network=ic set-wallet aanaa-xaaaa-aaaah-aaeiq-cai --force

XTC的容器ID为:aanaa-xaaaa-aaaah-aaeiq-cai? ?

该ID是存储Cycles的XTC容器ID

设置完之后可以通过以下命令来检查钱包的设置是否是正确的:

dfx identity --network ic get-wallet

注意:下一步涉及在Dfinity主网上预留插槽和使用计算能力,执行这些操作的成本为4TCycles,XTC与Cycles的兑换比例为1:1,因此需要使用4个XTC。

五、将容器部署到主网

目前我们的容器仅仅只是部署到本地副本中,现在我们要将容器部署到主网上需要先在Dfinity主网上为容器预留一个插槽,通过以下命令为容器保留这些插槽:

dfx?canister?--network=ic?create?--all

如果你不想为容器保留插槽,可以通过-all标志替换特定容器的名称来指定一个容器命令如下所示:

dfx canister --network=ic create <canister-name>

虽然容器已经部署创建在主网上,但是它现在仍然是一个空容器,需要将本地开发的代码推送/安装到主网的新容器中,命令如下:

dfx deploy --network=ic --no-wallet

运行结束之后容器就已经部署在Dfinity主网上,我们可以通过浏览器进行获取它,你的浏览器通过使用前端容器ID的URL为应用程序的前端提供服务,如果没有将URL记录下,我们可以通过DFX请求它:

dfx canister --network=ic id <project-name>_assets

注意:“<project-name>_assets”是应用程序前端容器的默认名称,如果项目为Hello,则前端容器为Hello_assets。

通过刚刚DFX的请求获取的URL复制到浏览器呈现如下(尚未对默认的Hello Word项目进行任何更改的情况下):

https://<paste-canister-ID>.raw.ic0.app/

图片

扫码添加深圳社区小助手进群

获取Dfinity第一手资讯

图片

Dfinity深圳社区,专注于Dfinity生态技术发展交流与优质项目挖掘分析。

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-09-03 11:57:00  更:2021-09-03 11:58:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 19:27:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码