DAPP is the abbreviation of Decentralized Application,which is called Distributed Application/Decentralized Application in Chinese.Generally speaking,different DAPPs will adopt different underlying blockchain development platforms and consensus mechanisms,or issue tokens by themselves(or use universal tokens based on the same blockchain platform).
DApp是去中心化应用的缩写,也是去中心化应用。
从某种程度上来说,比特币可以说是第一个出现的DAPP,因为它是完全开源的,为贡献者提供奖励,不受一个中央机构的控制,使用区块链作为支撑技术。
区块链作为一个基础设施,提供了一个分布式去中心化的可信数据库。基于此,人们可以针对不同的场景开发各种应用。
简单来说,DApp和普通App的原理是一样的,只不过它们是完全去中心化的。DAPP像以太坊网络本身一样由自己的节点运营,不依赖于任何集中式服务器。DAPP是去中心化的,可以完全自动运行。
目前,DApp通常是指在以太坊或EOS上基于智能合约开发的相关应用。
DAPP(分布式应用)的特点
1)运行在分布式网络上,完全开源、自治,且没有一个实体控制着该应用超51%Token。
2)必须能够根据用户的反馈及技术要求进行升级,且应用升级必须由大部分用户达成共识之后方可进行。
3)应用的数据加密后存储在公开的区块链上。
4)应用必须拥有Token机制(可用基于相同底层区块链平台的通用代币或自行发行新币),矿工或应用维护节点需要得到代币奖励;
5)应用代币的产生必须依据标准的加密算法,有价值的节点可以根据该算法获取应用的代币奖励。
部署智能合约:
现在你已经可以在Rinkeby测试网中编译和部署你的合约了,如果没有测试网的通证的话,可以在Chainlink faucet获得一些。
如果你使用的是Remix的话,你可以通过Remix编译和部署你的合约。如果你使用的是像是Visual Studio Code这样的IDE的话,我们推荐使用Hardhat来管理你的合约。
在部署合约之前,第一步是安装Hardhat工具包,Chainlink合约库和dotenv库。dotenv可以将存储密码和敏感信息存储在一个单独的.env文件中:
npm install--save-dev nomicfoundation/hardhat-toolbox
npm install chainlink/contracts--save
npm install dotenv
然后,将hardhat-config.js文件中的内容换成下面的内容:
require("nomicfoundation/hardhat-toolbox");
//require("nomiclabs/hardhat-ethers")
require('dotenv').config()
const RINKEBY_RPC_URL=process.env.RINKEBY_RPC_URL||
"https://eth-rinkeby.alchemyapi.io/v2/your-api-key"
const PRIVATE_KEY=process.env.PRIVATE_KEY||"abcdef"
module.exports={
defaultNetwork:"rinkeby",
networks:{
hardhat:{
////If you want to do some forking,uncomment this
//forking:{
//url:MAINNET_RPC_URL
//}
},
localhost:{
},
rinkeby:{
url:RINKEBY_RPC_URL,
accounts:[PRIVATE_KEY],
saveDeployments:true,
},
},
solidity:"0.8.9",
};