Dapp=前端 智能合约 token(通证经济),通常Dapp的定义是,在分布式网络中运行,参与者的信息受到保护,是通过网络节点进行集中操作的应用。
DApp也在不断进化演变,是公链、联盟链、私有链齐头并进发展,最后是链上的各种应用应运而生蓬勃发展,现在我们经常说的DApp更多的是这样一种定义:
前端 智能合约 token(通证经济)
Dapp的优势
数据先加密,然后存储在公开的区块链中,所有交易都保持不变,公开,并且加密和安全。因为Dapp必须在分布式网络上运行,强调的是去中心化,应用程序必须是开源的。
Dapp需要Token来鼓励矿工验证和创造区块,矿工需要使用POW工作证明与更多Token交换权益。总之,Token是保持Dapp发展的重要动力。
Dapp不依赖任何中央服务器,但智能合约不可或缺。只有智能合约的限制,Dapp才能在不在任何中心服务器或节点的情况下实现自治。
Dapp可以在用户自由打包生产,签名标记所属权,Dapp的发布不受任何机构限制。任何用户都可以将自己的Dapp发布到块链中,而无需相应部门的审核。
Dapp数据经过加密并存储在数据块链中,数据块链负责数据保留和交换,因此无需代理即可进行产权交易和销售。Dapp还必须安全地存储参与者的信息,并保护个人的数字资产、财产权利不被破坏或泄露。
import React,{Component}from"react";
import{getFundingDetails}from'../../eth/interaction'
import CardList from"../common/CardList";
class AllFundingTab extends Component{
state={
allFundingDetails:[],
}
//在componentWillMount方法中获取我发起的众筹,并设置到state中。
async componentWillMount(){
let allFundingDetails=await getFundingDetails(1)
console.table('1',allFundingDetails)
this.setState({
allFundingDetails
})
}
//在render方法中从state获取数据。
render(){
return(
<CardList details={this.state.allFundingDetails}/>
)
}
}
export default AllFundingTab
import React, {Component} from 'react';
import {Dimmer, Form, Label, Loader, Segment} from 'semantic-ui-react'
//import {createFunding} from "../eth/interaction";
class CreateFundingForm extends Component {
// 定义状态变量
state = {
active: false,
projectName: '',
supportMoney: '',
targetMoney: '',
duration: '',
}
render() {
let {active, projectName, targetMoney, supportMoney, duration} = this.state
return (
<div>
<Dimmer.Dimmable as={Segment} dimmed={active}>
<Dimmer active={active} inverted>
<Loader>Loading</Loader>
</Dimmer>
<Form onSubmit={this.handleCreate}>
<Form.Input required type='text' placeholder='项目名称' name='projectName'
value={projectName} label='项目名称:'
onChange={this.handleChange}/>
<Form.Input required type='text' placeholder='支持金额' name='supportMoney'
value={supportMoney} label='支持金额:'
labelPosition='left'
onChange={this.handleChange}>
<Label basic>¥</Label>
<input/>
</Form.Input>
<Form.Input required type='text' placeholder='目标金额' name='targetMoney' value={targetMoney}
label='目标金额:'
labelPosition='left'
onChange={this.handleChange}>
<Label basic>¥</Label>
<input/>
</Form.Input>
<Form.Input required type='text' placeholder='众筹时间' name='duration' value={duration}
label='众筹时间:'
labelPosition='left'
onChange={this.handleChange}>
<Label basic>S</Label>
<input/>
</Form.Input>
<Form.Button primary content='创建众筹'/>
</Form>
</Dimmer.Dimmable>
</div>
)
}
}
export default CreateFundingForm