DAPP链上合约系统开发详情
DAPP是Decentralized Application的缩写【I8I-系统259I-开发3365】,即去中心化应用,也有人称为分布式应用。它被认为开启了区块链3.0时代。DAPP就是在底层区块链平台衍生的各种分布式应用,是区块链世界中的服务提供形式。DAPP之于区块链,有些类似APP之于IOS和Android。
符合以下3个条件的应用可以认为是一个DAPP(分布式应用):
1、运行在分布式网络上;
2、参与者信息被安全存储,隐私得到很好的保护;
3、通过网络节点去中心化操作。
<!DOCTYPE html>
<html>
<head>
<title>diaoyongheyue</title>
<link rel='stylesheet'href='/stylesheets/style.css'/>
</head>
<body>
<h1>init number:<%=init%></h1>
<h1>curent number:<%=curent%></h1>
</body>
</html>
一个真正的DAPP应用,需要同时满足一下几个条件:
1、应用必须完全开源、自治,且没有一个实体控制着该应用超51%Token。该应用必须能够根据用户的反馈及技术要求进行升级,且应用升级必须由大部分用户达成共识之后方可进行;
2、应用的数据必须加密后存储在公开的区块链上;
3、应用必须拥有Token机制(可用基于相同底层区块链平台的通用代币或自行发行新币),矿工或应用维护节点需要得到代币奖励;
4、应用代币的产生必须依据标准的加密算法,有价值的节点可以根据该算法获取应用的代币奖励。
DAPP用户体验由于区块链特有的数据确权、价值传递功能,可以很多影响用户体验、提升开发难度的因素:
1)用户实名认证流程变更
DAPP场景下,如果公链内支持数据共享,那么开发者只需要完成数据匹配,就可以从-生态内的开发者处共享到用户实名资料,同时只需要支付Token即可;同时对用户而言,这也算是POD(Proof of Data)挖矿模式,同样有收益,算是合作共赢;比如公信宝“布洛克城”;
> var helloContract = web3.et***ntract([{"constant":true,"inputs":[{"name":"a","type":"uint256"}],"name":"mutiply","outputs":[{"name":"result","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]);
undefined
> var hello = helloContract.new(
{
from: web3.eth.accounts[1],
data: '0x608060405234801561001057600080fd5b5060bb8061001f6000396000f300608060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063f70d290d146044575b600080fd5b348015604f57600080fd5b50606c600480360381019080803590602001909291905050506082565b6040518082815260200191505060405180910390f35b60006003820290509190505600a165627a7a7230582002abd0500936c002b085e7f017e1aca58ca5294e5e4b27f0733e430604076c3f0029',
gas: '4700000'
}, function (e, contract){
console.log(e, contract);
if (typeof contract.address !== 'undefined') {
console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash);
}
})
复制代码
符合以下3个条件的应用可以认为是一个DAPP(分布式应用):
1、运行在分布式网络上;
2、参与者信息被安全存储,隐私得到很好的保护;
3、通过网络节点去中心化操作。
<!DOCTYPE html>
<html>
<head>
<title>diaoyongheyue</title>
<link rel='stylesheet'href='/stylesheets/style.css'/>
</head>
<body>
<h1>init number:<%=init%></h1>
<h1>curent number:<%=curent%></h1>
</body>
</html>
一个真正的DAPP应用,需要同时满足一下几个条件:
1、应用必须完全开源、自治,且没有一个实体控制着该应用超51%Token。该应用必须能够根据用户的反馈及技术要求进行升级,且应用升级必须由大部分用户达成共识之后方可进行;
2、应用的数据必须加密后存储在公开的区块链上;
3、应用必须拥有Token机制(可用基于相同底层区块链平台的通用代币或自行发行新币),矿工或应用维护节点需要得到代币奖励;
4、应用代币的产生必须依据标准的加密算法,有价值的节点可以根据该算法获取应用的代币奖励。
DAPP用户体验由于区块链特有的数据确权、价值传递功能,可以很多影响用户体验、提升开发难度的因素:
1)用户实名认证流程变更
DAPP场景下,如果公链内支持数据共享,那么开发者只需要完成数据匹配,就可以从-生态内的开发者处共享到用户实名资料,同时只需要支付Token即可;同时对用户而言,这也算是POD(Proof of Data)挖矿模式,同样有收益,算是合作共赢;比如公信宝“布洛克城”;
> var helloContract = web3.et***ntract([{"constant":true,"inputs":[{"name":"a","type":"uint256"}],"name":"mutiply","outputs":[{"name":"result","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]);
undefined
> var hello = helloContract.new(
{
from: web3.eth.accounts[1],
data: '0x608060405234801561001057600080fd5b5060bb8061001f6000396000f300608060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063f70d290d146044575b600080fd5b348015604f57600080fd5b50606c600480360381019080803590602001909291905050506082565b6040518082815260200191505060405180910390f35b60006003820290509190505600a165627a7a7230582002abd0500936c002b085e7f017e1aca58ca5294e5e4b27f0733e430604076c3f0029',
gas: '4700000'
}, function (e, contract){
console.log(e, contract);
if (typeof contract.address !== 'undefined') {
console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash);
}
})
复制代码