代币合约DAPP项目系统开发(技术方案)
2023-06-13 09:18:24 时间
区块链是从BTC系统中提炼出来的一种底层支撑技术,Token原本是区块链上激励“矿工”的一种经济手段,在加密数字货币的发展过程中,有大量的组织也希望能够发行自己的Token,区块链2.0——ETH及其订立的ERC20标准应用而生,基于这个平台和标准,任何人和组织都可以在ETH上发行自己定义的Token,极大地降低了发行的难度和速度,Token开始以代币的身份为大众所熟知。
Deployer API deployer对象提供了方法用于简化智能合约的部署。deployer.deploy(contract,args…,options)参数contract为使用artifacts.require引用的智能合约对象。参数args...为智能合约的构造函数的参数,用于初始化智能合约。参数options用于指定from,gas及overwrite等信息,overwrite用于重新部署某个已经完成部署的智能合约,默认的options参数在bottle.js文件中配置
例子:
//Deploy a single contract without constructor arguments
deployer.deploy(A);
//Deploy a single contract with constructor arguments
deployer.deploy(A,arg1,arg2,...);
//Don't deploy this contract if it has already been deployed
deployer.deploy(A,{overwrite:false});
//Set a maximum amount of gas and`from`address for the deployment
deployer.deploy(A,{gas:4612388,from:"0x...."});
//External dependency example:
//
//For this example,our dependency provides an address when we're deploying to the
//live network,but not for any other networks like testing and development.
//When we're deploying to the live network we want it to use that address,but in
//testing and development we need to deploy a version of our own.Instead of writing
//a bunch of conditionals,we can simply use the`overwrite`key.
deployer.deploy(SomeDependency,{overwrite:false});
通过promise对象可以运行任意的部署步骤并调用指定的智能合约内部方法来进行交互
例子:
var ERC20=artifacts.require("../contracts/Erc20.c")
module.exports=function(deployer,a){
deployer.deploy(ERC20,"1000000","bitcoin","BTC").then(function(instance){
deploy=instance;
return deploy.GetTotalSupply()
}).then(function(totalSupply){
console.log("totalSupply",totalSupply.toString());
return deploy.GetDecimals();
}).then(function(decimals){
console.log("decimals",decimals.toString());
return deploy.GetTokenName();
}).then(function(tokenName){
console.log("tokenName",tokenName);
return deploy.GetAmount("0x122369f04f32269598789998de33e3d56e2c507a")
}).then(function(balance){
console.log("balance",balance.toString());
})
};
相关文章
- 低代码开发平台技术架构_一个项目的整体架构是什么
- Java池化技术你了解多少?
- 订单服务以及优惠券服务及rabbitmq(7)-1024电商平台项目技术选择和创 建聚合工程项目【工业级PaaS云平台+SpringCloudAlibaba+JDK11综合项目实战】
- 强烈推荐一个技术栈丰富的微电商项目luban-mall
- 容器编排调度-Rancher(10)-1024电商平台项目技术选择和创 建聚合工程项目【工业级PaaS云平台+SpringCloudAlibaba+JDK11综合项目实战】
- c# mysql executenonquery_C#与数据库访问技术之ExecuteNonQuery方法
- Java测试工程师技术面试题库【持续补充更新】
- 我用前端【最新】技术栈完成了一个生产标准的项目【Vue3 + TS + Vite + Pinia + Windicss】
- Meta Force佛萨奇2.0项目系统开发源码搭建技术
- PGL图学习项目合集&数据集分享&技术归纳业务落地技巧[系列十]
- 实时自动驾驶车辆定位技术概述
- 推荐系统[九]项目技术细节讲解z4:向量检索技术工程上实践,曝光去重实践以及检索引擎该如何选择:支撑亿级索引、5毫秒级的检索[elasticsearch、milvus]
- 【热点专刊】大数据治理的理论与技术(附链接)
- 3-1. SpringBoot项目集成【用户身份认证】实战 【技术选型篇】基于Session、Token、JWT怎么选?
- 基于Spring boot的外卖项目瑞吉外卖Day10使用Redis缓存技术
- 对项目工时的估算—-( PERT “计划评审技术” ) 三点估算法详解程序员
- 新技术Web项目使用Redis实现高性能(web项目使用redis)
- 整车派向上、技术派向下:谁更适合说“无人出行”新故事
- 管理基于SQL Server的无项目管理技术研究(sqlserver无项目)
- Oracle 分区技术——提升数据库性能的有效利器(oracle分区技术)
- Redis实现的验证码技术提升(redis 实现验证码)
- ODBC支持Oracle,实现数据库协作互联网技术(odbc支持oracle)
- 树形数据结构Redis技术的应用(树数据结构redis)
- 实现电商项目的突破性进展Redis技术的应用(电商项目中redis)
- 面试Redis对技术能力的全面考量(redis面试项目)
- Redis集群技术探索实践篇(redis集群项目实战)
- 不炒币!五大区块链项目齐聚锋火TokenShow,探讨技术应用落地
- Telegram项目创新概念解析与技术架构:链中有链的“第五代“项目?