BABA智能合约投票DAO模式dapp系统开发|智能合约实现技术分析

简介: BABA智能合约投票DAO模式dapp系统开发|智能合约实现技术分析

合约交互

写完合约代码之后,前端页面实现就不在此赘述,主要介绍如何使用 web3 与合约交互,这里使用到的 web3 版本是 1.0,web3 1.0 和 0.2x.x 的 API 调用方式差别较大,1.0 的 API 支持异步调用。

安装 Metamask 浏览器插件后,会在浏览器页面内注入一个 web3 实例。检测页面中是否存在 web3 实例,如果不存在则连接自己的实例。

import Web3 from 'web3';if (typeof web3 !== 'undefined') {
web3 = new Web3(web3.currentProvider);
} else {
web3 = new Web3(new Web3.providers.HttpProvider(NODE_NRL));
}

传入合约 ABI,合约地址,实例化合约对象。


this.contract = new web3.eth.Contract( CONTRACT_ABI, CONTRACT_ADDR,
);

调用合约中的投注方法,通过try catch可以捕获到 Metamask 弹窗取消交易操作。

userBet = async () => { try { await this.contract.methods

 .bet(
   ...
 )
 .send({        from: ACCOUNT,        value: MONEY,
 });

} catch (error) {
...
}
}

查询记录的日志,可以通过指定事件名称、区块高度及过滤条件来进行日志查询,值得注意的是,在合约内不能查询到日志信息。

queryEvent = async () => { const event = await this.contract.getPastEvents( EVENT_NAME,
{ filter: {}, fromBlock: 0, toBlock: 'latest',
}
)
}

功能拓展

比如修改用户投注金额及充值这类敏感操作,就需要管理员的权限来进行操作。同样地,我们也可以拓展赞助商的功能,通过充值奖池的累计金额排名来展示赞助商的广告,这里就不做展开了。

定义修饰器,在构造函数里设置管理员地址,将创建合约的账户设置为管理员。

相关文章
|
存储 监控 算法
DAPP链上质押项目系统开发|DAPP合约模式开发案例
DAPP不依赖中心化机构也不受单一实体控制,因此DAPP可以减少中心化机构的意见干扰
|
存储 JavaScript 前端开发
什么是DAPP智能合约系统开发?链上DAPP智能合约系统开发原理及详细
 Web 3.0的纽带作用:   与DAPP浏览器相辅相成的是其底层网络架构Web 3.0,这是和信息互联网时代传统浏览器基于的Web 2.0完全不同的体系架构。区块链技术,尤其是ETH的出现使Web 3.0成为基于区块链进行价值传递的基础网络。
什么是DAPP智能合约系统开发?链上DAPP智能合约系统开发原理及详细
|
安全 区块链
DAPP公链合约系统开发技术原理丨DAPP公链合约系统开发详细源码及案例
智能合约dapp系统开发是基于链游技术开发的应用程序,它利用智能合约来实现去中心化的应用。智能合约是一种程序,它可以在链游上运行,根据指定的条件自动执行。智能合约dapp系统开发的核心在于智能合约的开发,智能合约的开发需要具备一定的链游技术知识和编程技能
|
存储 安全 算法
DAPP合约系统开发|DAPP去中心化模式系统开发(成熟技术)
透明度和灵活性:任何区块链用户都可以评估合约逻辑和底层机制
|
程序员 区块链
智能合约DAPP项目系统开发技术逻辑(dEOM)
智能合约DAPP项目系统开发技术逻辑(dEOM)
234 0
|
JSON 前端开发 编译器
链上DAPP系统开发|DApp智能合约开发搭建技术
合约可以调用其他合约,只需知道地址和ABI,我们就可以在合约内部调用其他合约,需要注意的是,调用合约也是事务性操作,因此,你不需要通过手动管理异步操作的方式来等待返回结果。在合约内部调用其他合约需要消耗额外的Gas费用。
链上DAPP系统开发|DApp智能合约开发搭建技术
|
9月前
|
算法 大数据 分布式数据库
DAPP质押模式系统开发项目方案|DAPP合约开发案例
区块链技术是一种分布式数据库技术,它是由多个节点构成的去中心化网络
|
安全 算法 区块链
DAPP矩阵公排互助系统开发|DAPP链上合约开发
智能合约作为Web3下的核心概念,具有巨大的潜力和应用前景
|
存储 安全 程序员
DAPP智能合约系统开发区块链智能合约系统模式开发
DApp智能合约系统开发,区块链智能合约app开发,DApp智能合约软件开发、现成DApp智能合约模式系统、DApp智能合约开发搭建、区块链智能合约系统定制开发、DApp智能合约开发需求及费用。 区块链智能合约(Smartcontract)是一种特殊协议,旨在提供、验证及执行合约。具体来说,智能合约是区块链被称之为“去中心化的”重要原因,它允许我们在不需要第三方的情况下,执行可追溯、不可逆转和安全的交易。
|
JavaScript 前端开发 Go
区块链Dapp智能合约系统开发(开发功能)丨dapp/defi代币合约项目系统开发成熟案例版及源码部署
The following are important technical points in the development process of smart contract DApp:

热门文章

最新文章