开发者社区> 开发V_MrsFu123> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

探究dapp泰山众筹及链上众筹系统开发实现技术及源码

简介: 什么是DAPP 根据David Johnston在文章DavidJohnstonCEO/DecentralizedApplications里的定义,只有当满足以下所有条件时,一个应用才可以称之为DAPP。
+关注继续查看

  什么是DAPP

根据David Johnston在文章DavidJohnstonCEO/DecentralizedApplications里的定义,只有当满足以下所有条件时,一个应用才可以称之为DAPP。

应用必须完全开源、自治并且没有一个实体控制着该应用的大部分代币(Token)。DAPP众筹系统开发流程分析:I35-7O98-O7I8该应用必须能够根据市场的反馈及技术要求进行升级,但是升级必须由应用的用户达成共识之后才可以进行;

应用的数据必须加密后存储在公开的区块链上;

应用必须拥有代币机制(可以使用已存在的代币或者新发行一种内置代币),矿工或者应用维护节点需要得到代币奖励;

应用代币的产生必须依据标准的加密算法,有价值的节点可以根据该算法获取应用的代币奖励。

泰山众筹的基本概念

1、四进一出:当众筹活动到第四期成功的时候,第一期参与众筹的粉丝就会出局,从而获的奖励,当第五期众筹成功的时候,第二期参与的粉丝出局,获得出局奖励,以此类推,直至众筹活动结束或失败。

2、倍利复增:每完成一期众筹活动的时候,下一期将增长30%的众筹资产

3、爆仓重生:众筹活动时间内,无法完成众筹,则会众筹失败,那就视为爆仓,将重新开启第一期循环。

与from表单交互

  定义表单项的onchange事件函数,该函数把表单项的值设置到状态变量中

  handleChange=(e,{name,value})=>this.setState({[name]:value})

  然后写一个函数来看看是否触发了按钮:
  handleCreate=()=>{

  let{active,projectName,targetMoney,supportMoney,duration}=this.state

  console.log('projectName:',projectName)

  console.log('targetMoney:',supportMoney)

  }

  定义表单提交函数

  handleCreate=async()=>{

  let{active,projectName,targetMoney,supportMoney,duration}=this.state

  console.log('projectName:',projectName)

  console.log('targetMoney:',supportMoney)

  this.setState({active:true})

  try{

  let res=await createFunding(projectName,targetMoney,supportMoney,duration)

  alert('创建合约成功!n')

  this.setState({active:false})

  }catch(e){

  this.setState({active:false})

  console.log(e)

  }

  }

  在interaction.js文件中定义createFunding方法,并导出该方法。

  let createFunding=(projectName,targetMoney,supportMoney,duration)=>{

  return new Promise(async(resolve,reject)=>{

  try{//调用创建方法

  let accounts=await web3.eth.getAccounts()

  let res=await fundingFactoryInstance.methods.createFunding(projectName,targetMoney,supportMoney,duration).send({

  from:accounts[0],

  })

  resolve(res)

  }catch(e){

  reject(e)

  }

  })

  }

5.在AllFundingTab添加表单项,在render方法中把状态变量的数据结构出来

render(){

    return(
        <div>
            <CardList details={this.state.allFundingDetails}/>
            <div>
                <h3>参与众筹</h3>
                <Dimmer.Dimmable as={Segment} dimmed={this.state.active}>
                    <Dimmer active={this.state.active} inverted>
                        <Loader>支持中</Loader>
                    </Dimmer>
                <Form onSubmit={this.handleInvest}>
                    <Form.Input type='text' value={''} label='项目名称:'/>
                    <Form.Input type='text' value={''} label='项目地址:'/>
                    <Form.Input type='text' value={''} label='支持金额:'
                            labelPosition='left'>
                        <Label basic>¥</Label>
                        <input/>
                    </Form.Input>
                    <Form.Button primary content='参与众筹'/>
                </Form>
                </Dimmer.Dimmable>
            </div>
        </div>

)
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
概念:泰山众筹系统开发DAPP技术原理分析方案
概念:泰山众筹系统开发DAPP技术原理分析方案
39 0
Met a X DAO流动性质押dapp系统开发底层技术分析
Met a X DAO系统、freedom自由协议等系统目前在市面上很流行,现在让我们来看看关于开发它们的一些注意事项。 一、工程结构 本章内容需要修改内容比较多,涉及到以下三个工程模块的修改:
17 0
浅谈dapp泰山众筹系统开发技术说明及案例分析
平行链是在Polkadot和 Kusama 生态系统中彼此并行运行的多样化的第 1 层区块链。Polkadot 和 Kusama 上的平行链连接到中继链上的平行链插槽 - 形成网络核心的区块链,保护和协调每个平行链的工作。
33 0
DAPP众筹系统开发技术详情及分析
DApp,英文全称是DecentralizedApplication,翻译成中文就是我们通常所说的去中心化应用,DApp中的应用就是我们长期接触并在手机上使用的各种应用,DApp的一些或者所有逻辑都存储在去中心化网络中,这一去中心化网络在区块链的世界被称为公共链。
40 0
linux实用技巧:ubuntu16.04 64位系统安装32位系统兼容包并修改dash(缺省)为bash
linux实用技巧:ubuntu16.04 64位系统安装32位系统兼容包并修改dash(缺省)为bash
100 0
DBA_实践指南系列4_Oracle Erp R12系统备份和恢复Backup(案例)
2013-12-04 Created By BaoXinjian 一、摘要 1. ERP系统的数据分类 (1). 操作文件系统 (2). Oracle 11g数据库的程序文件 (3). Oracle数据库的参数文件 (4).
1123 0
+关注
开发V_MrsFu123
APP技术开发:I3570980718
42
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载