close

翡翠平台介绍及搭建Dapps的重要性

12 翡翠

翡翠平台(Emerald Platform)是ETC核心开发团队——ETCDEV团队创建的开源项目,帮助开发人员在ETC区块链平台上构建具有不可阻挡特性的分布式应用程序。

 

为什么要构建分布式应用程序?

 

分布式应用程序具有以下特点:

不可阻挡:ETC区块链服务器叫以太经典世界计算机,具有永不停机的特性。在ETC区块链平台上搭建的Dapps可享有此特性。

无需银行账户:许多人无法访问金融系统。ETC网络具有普世性,让无银行账号的人也能访问金融系统。

抗审查:ETC区块链是抗审查的,允许开发人员自由创新。抗审查机制要求数据不可篡改,这一特性有助于用户自由地交易ETC,在ETC网络上创造价值。

不可篡改:意思是数据永远都不会改变。一旦在以太经典上创建了交易,交易就会如约进行,不会改变。

构建Dapps的优点有很多,翡翠平台需要解决的问题也不少。

Dapps开发新手会遇到一系列问题:是否需要运行节点?需要在测试网络上开发Dapps吗?测试网络需要用到区块链浏览器吗?如何部署到主网上等等问题。仅仅是这些问题都会让开发人员望而却步,而且这些问题都没有准确明白的答案。开发人员可使用多种工具,比如用ReMix来编译合同,用MetaMask交互测试合约。但是,开发到某个步骤就要换工具,而这些工具之间是不兼容的。开发Dapps过程繁琐,零零碎碎的事情很多。

Web-3可用来搭建Dapps,但是这个工具使用GPL授权,GPL授权需要代码开源。使用这个工具搭建起来的项目都是使用GPL授权,这听起来不错,但是商业用的应用程序就不能这么干了。

总的来说,搭建Dapps需要考虑的东西很多,比如测试网络、交易数据、区块链等等。而翡翠平台为开发人员准备了一整套工具,让开发Dapps变得更容易。

 

翡翠平台的组成

翡翠CLI

翡翠CLI的特点与Truffle框架类似,但它整合了翡翠平台开发工具,用于端到端Dapps开发。

emerald <command> [options]

COMMANDS

new                 Create a new project

wallet              Boot Emerald Wallet

explorer            Boot Explorer

testrpc             Run testnet for ethereum classic

deploy              Deploy solidity to network

help <command>      Display help for a specific command

GLOBAL OPTIONS

-h, –help         Display help

-V, –version      Display version

–no-color         Disable colors

–quiet            Quiet mode – only displays warn and error messages

-v, –verbose      Verbose mode – will also output debug messages

 

$ emerald new 用于创建基于翡翠入门套件的项目,这是一个简单的To-Do DApp,开发人员可以根据需要进行迭代。

$ emerald wallet 用于启动翡翠钱包,这样,开发人员可以在他们开发的Dapps上签署交易。

$ emerald explorer 用于启动翡翠浏览器,开发人员通过这个命令在测试网中浏览区块信息。

$ emerald testrpc 用于启动SputnikVM-Dev虚拟机,为开发者提供带有区块和账户信息的测试网络。这是开发人员将Dapps部署到主网的时候常需要的资料。

$ emerald deploy 用于将智能合约部署到网络上。

 

翡翠入门套件

 

它是开发人员在ETC区块链平台上构建Dapps的准系统模板。

 

翡翠钱包

翡翠钱包是用于签署Dapps交易的核心部件。它有很多功能,比如,切换多种节点、地址簿、账户等等。翡翠钱包Dapp是使用翡翠平台工具套件搭建而成的。

 

Emerald JS UI

它是一个高度可重用,且可自定义的UI组件库。开发人员可以利用这个库来显示区块编号,帐户和其他区块链相关信息。这个组件库仅显示区块链信息,但不会读取信息。而翡翠平台上的翡翠JS可用于读取上述提到的区块链相关信息。

 

Emerald JS

 

它是一个高级的Javascript RPC API,可在以太坊和以太经典区块链上进行互操作。开发人员可通过Emerald JS工具,仅用一行代码快速抓取区块,轻松实现许多常见的区块操作。

<BlockNumber blockNumber={1} />

显示块编号结果。

 

SputnikVM

 

SputnikVM是由ETCDEV团队开发并维护的虚拟机,对标以太坊虚拟机,其目标是成为一个高效,支持插件化的虚拟机,并为采用不同以太坊标准的区块链提供底层设施。

 

SputnikVM-Dev

SputnikVM-Dev是一款基于SputnikVM开发出来的以太坊开发虚拟机。它可为开发人员提供包含账号、测试用的以太币、区块等信息的ETC测试网络,并可用来测试Dapps的RPC端点。对于开发人员来说,测试网络非常适合用于测试他们开发的DApps。现在,开发人员可以在他们开发的Dapp上进行交易了。但是,他们还需要一个工具来跟踪交易信息。相信你已经猜到了,这就是区块浏览器。

 

翡翠浏览器

它是区块浏览器,可在不同步整条区块链数据的情况下切换网络。

我们的目标是提供一系列开发工具,让开发人员在以太经典区块链上搭建不可阻挡、高质量、用户体验感好的应用程序。

开发者社区论坛:http://gitter.im/etcdev-public

开发者网站:http://joinetc.tech