前一篇文章介绍了asch dapp开发的基本流程,这一次打算创建一个拥有内置资产的dapp,并顺便介绍下前后端通讯的协议和常用接口。

1 创建一个带内置资产的dapp

其实这篇文章有些标题党,因为创建内置资产非常简单,与前一篇文章的hello world相比,只多了两次命令行的选项:)

在创建dapp的一个环节,会提示我们是否需要内置置产,上一次我们选择了默认的no, 这一次我们输入yes

? Do you want publish a inbuilt asset in this dapp? yes

然后就会触发新的剧情了

? Enter asset name, for example: BTC, CNY, USD, MYASSET CNY

这里需要输入资产的单位或者叫名称缩写,可以是任意一个长度小于16的字符串

? Enter asset total amount 1000000

输入资产总量,注意这里不需要乘以100000000

其余的流程就跟那个hello world一模一样了

最后登录dapp的前端界面,我们就可以发现账户资产里多了一项我们自定义的资产了,还可以通过链内转账将资产发送给其他账户。

我们的asch-cli程序目前只能创建一种内置资产,如果有创建多种资产的需求,我们可以考虑开发。 其实开发者也可以在自己在自己生成创世块的时候设置多种内置资产,具体可以研究下asch-cli的源码。

2 前后端通讯协议

Dapp后端提供的接口的一般格式为/api/dapps/<dapp id>/api/method

例如,我们在hello world项目中使用了3个接口

登录

post /api/dapps/<dapp id>/api/openAccount

这个接口需要提供secret字段,有安全隐患

如果能在前端获取到publicKey,可以使用下面这个更安全的接口

post /api/dapps/<dapp id>/api/openAccount2

链内交易

put /api/dapps/<dapp id>/api/transaction

提现

post /api/dapps/<dapp id>/api/withdrawal

更多接口可以去router.json文件里查看

例如

获取区块列表

{"path": "/blocks","method": "get","handler": "blockchain.blocks.getBlocks"}

获取未确认交易列表

{"path": "/transactions","method": "get","handler": "blockchain.transactions.getTransactions"}

增加受托人

{

"path": "/delegates",
"method": "put",
"handler": "blockchain.delegates.addDelegates"

}

侧链框架中提供了更多的方法,但是没有暴露出api,开发者如果有需要,可以自行配置。

Dapp开发教程二 Asch Dapp Asset相关推荐

  1. Dapp开发教程三 Asch Dapp Mini DAO

    前边两篇教程可以称之为热身,从这里开始,进入正题. 这一次,我们要正式创建新的交易类型或者智能合约了. 1 创建合约 首先要进入dapp所在目录 cd dapps/<dapp id>/ 然 ...

  2. Dapp开发教程四 Asch Dapp Dice Game

    这个dice game与上一个mini dao相比,代码规模大了许多,功能也复杂了很多,创建了三个合约类型,彼此之间有依赖关系,合约的执行还要依赖历史交易数据. 但是我觉得在原理上与上一个项目相比,并 ...

  3. Dapp开发教程四 Asch Dapp Dice Game 1

    这个dice game与上一个mini dao相比,代码规模大了许多,功能也复杂了很多,创建了三个合约类型,彼此之间有依赖关系,合约的执行还要依赖历史交易数据. 但是我觉得在原理上与上一个项目相比,并 ...

  4. Dapp开发教程一Asch Dapp

    1基本流程 Asch有三种网络类型,分别是localnet,testnet,mainnet,后两种是发布到线上的,可以通过公网访问.第一种localnet是运行在本地的,只有一个节点的私链,主要是为了 ...

  5. Dapp开发教程二一 Asch Dapp Asset

    前一篇文章介绍了asch dapp开发的基本流程,这一次我打算创建一个拥有内置资产的dapp,并顺便介绍下前后端通讯的协议和常用接口. 1 创建一个带内置资产的dapp 其实这篇文章有些标题党,因为创 ...

  6. Dapp开发教程一 Asch Dapp Hello World

    1 基本流程 Asch有三种net,localnet,testnet,mainnet,后两种是发布到线上的,可通过公网访问. 第一种localnet是运行在本地的.只有一个节点的私链,主要是为了方便本 ...

  7. Dapp开发教程一 Asch Dapp Hello World 1

    1 基本流程 Asch有三种net,localnet,testnet,mainnet,后两种是发布到线上的,可通过公网访问. 第一种localnet是运行在本地的.只有一个节点的私链,主要是为了方便本 ...

  8. MIP开发教程(二) 使用MIP-CLI工具调试MIP网页

    初始化 MIP 配置 新建一个 MIP 网页 编写 MIP 网页代码 校验 MIP 网页 调试 MIP 网页 1. 初始化 MIP 配置 首先在html目录下进行初始化 MIP 配置: $ mip i ...

  9. 微信公众号开发教程(二)消息接收与响应处理

    作者:陈惠,叩丁狼教育高级讲师.原创文章,转载请注明出处. 上一篇文章我们已经实现了URL接入,接下来就可以利用微信官方的开发文档来实现不同的案例.(注意:若还没有进行接入操作,请参考开发教程(一)) ...

最新文章

  1. SQL多表连接查询(详细实例)
  2. 一套代码小程序WebNative运行的探索01
  3. CAS的核心类--unsafe类
  4. c++ 字符串拼接_字符串拼接新姿势:StringJoiner
  5. c++ 图的连通分量是什么_【自考】数据结构第五章图,期末不挂科指南,第9篇
  6. [转载] AUML——Supplement Documents
  7. 初一辍学学php能行吗_那些初中就辍学的小姑娘现在过得如何了?
  8. Mbox vs Maildir - 两者原理和区别
  9. decode函数乱码_Python中文乱码的2种解决方案
  10. html5 blob video 下载
  11. OMRON PLC使用技巧总结
  12. 使用opencv在视频中插入文字、图片;生成特定文字视频
  13. android学习笔记-udacity/Sunshine-Version-2出错
  14. django orm 重点大全
  15. 题目名称:你好,i春秋
  16. vim yank 命令
  17. aras innovator: 分类筛选如何做?
  18. 想不到 HR 都在 GitHub 捞人!五位开源大牛分享成长经历(文末福利)
  19. 春运正当时 古代人们又是靠什么出行的呢?
  20. spdlog日志安装与使用

热门文章

  1. 控制照明系统,免费DMX灯光设计软件
  2. 新手小白怎样快速赚钱
  3. C4D用云渲染快不快?
  4. 我的第一个正版杀毒软件
  5. Java算法篇之打印小星星和成绩名次统计
  6. FCU是飞行控制组件的意思
  7. uiautomatorviewer.bat闪退无法使用问题解决
  8. y7000p 2020 vbios_2020年双十一笔记本电脑购买指南(游戏笔记本篇)
  9. vue 根据文件格式显示不同的图标
  10. 情人之间礼物推荐 情人节该送什么礼物