Author Topic: 刚刚发现一个从 BTS 代码自动生成的文档  (Read 5691 times)

0 Members and 1 Guest are viewing this topic.

Offline Musewhale

  • Hero Member
  • *****
  • Posts: 2881
  • 丑,实在是太丑了 !
    • View Profile
MUSE witness:mygoodfriend     vote for me

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
https://bitshares.org/doxygen/hierarchy.html

这个感觉会很有用。

比如,这个页面列出了所有的 API : https://bitshares.org/doxygen/classgraphene_1_1app_1_1database__api.html

还有个问题需要请教你
我通过官网的文档利用wss://bitshares.dacplay.org:8089这个wss,可以访问database的API,但是访问不了钱包的API,比如想转账等,是因为其没有开放外网访问的钱包API吗?
所以,那么我要自己做接口给棋牌游戏用,是必须得自己搭建本地节点了?但是自己的PC上网页钱包不也是可以登录和转账的吗?那就是说应该有供外网访问的钱包接口才对,这点很困惑。
访问database的示例
交互用例:
登录,申请访问
>{"method": "call", "params": [1, "login", ["", ""]], "id": 1}
<{"id":2, "jsonrpc": 2.0, "result": true}

获取访问标识
>{"method": "call", "params": [1, "database", []], "id": 2}
<{"id":2,"jsonrpc":2.0,"result":3}

通过访问标识调用其他函数
>{"method": "call", "params": [3, "get_objects", [["2.1.0"]]], "id": 3}
<{"id":3,"jsonrpc":"2.0","result":[{"id":"2.1.0","head_block_number":25043730,"head_block_id":"017e23125954db886b6ab895637bc182a35d6143","time":"2018-03-08T08:54:18","current_witness":"1.6.98","next_maintenance_time":"2018-03-08T09:00:00","last_budget_time":"2018-03-08T08:00:00","witness_budget":11700000,"accounts_registered_this_interval":74,"recently_missed_count":0,"current_aslot":25189584,"recent_slots_filled":"340282366920938463463374607431768211455","dynamic_flags":0,"last_irreversible_block_num":25043717}]}

钱包的主要作用是管理私钥。

公共节点没有你的私钥,当然没法管你钱包的事。

网页钱包,私钥也是本地管的,不在服务器。

先把架构梳理清楚。
BitShares committee member: abit
BitShares witness: in.abit

Offline daicong210

https://bitshares.org/doxygen/hierarchy.html

这个感觉会很有用。

比如,这个页面列出了所有的 API : https://bitshares.org/doxygen/classgraphene_1_1app_1_1database__api.html

还有个问题需要请教你
我通过官网的文档利用wss://bitshares.dacplay.org:8089这个wss,可以访问database的API,但是访问不了钱包的API,比如想转账等,是因为其没有开放外网访问的钱包API吗?
所以,那么我要自己做接口给棋牌游戏用,是必须得自己搭建本地节点了?但是自己的PC上网页钱包不也是可以登录和转账的吗?那就是说应该有供外网访问的钱包接口才对,这点很困惑。
访问database的示例
交互用例:
登录,申请访问
>{"method": "call", "params": [1, "login", ["", ""]], "id": 1}
<{"id":2, "jsonrpc": 2.0, "result": true}

获取访问标识
>{"method": "call", "params": [1, "database", []], "id": 2}
<{"id":2,"jsonrpc":2.0,"result":3}

通过访问标识调用其他函数
>{"method": "call", "params": [3, "get_objects", [["2.1.0"]]], "id": 3}
<{"id":3,"jsonrpc":"2.0","result":[{"id":"2.1.0","head_block_number":25043730,"head_block_id":"017e23125954db886b6ab895637bc182a35d6143","time":"2018-03-08T08:54:18","current_witness":"1.6.98","next_maintenance_time":"2018-03-08T09:00:00","last_budget_time":"2018-03-08T08:00:00","witness_budget":11700000,"accounts_registered_this_interval":74,"recently_missed_count":0,"current_aslot":25189584,"recent_slots_filled":"340282366920938463463374607431768211455","dynamic_flags":0,"last_irreversible_block_num":25043717}]}

Offline lochaling

  • Full Member
  • ***
  • Posts: 168
    • View Profile
非常感谢你的回答,还是有些迷糊。先说下我跟朋友的计划。
我一直是虚拟币的爱好者,一直关注比特股,感觉BTS是一个非常好的币种,可惜它的价值一直被低估,去中心化的交易所也一直被ZB这种私有的交易所所影响,一直想推动比特股的发展。刚好我有个朋友的公司是做棋牌开发的,
所以我的有个用棋牌游戏结合BTS的计划,希望用游戏的娱乐来带动比特股的交易量上涨,也希望能做成全球首款虚拟币结算的棋牌游戏,来增加BTS的人气,给与BTS投资者信心,让更多的人关注比特股并参与推广比特股的发展。
现在有一些问题急需解决,希望帮忙解惑。

1.为了支持游戏,是否一定需要搭建本地节点
2.哪里寻找方便的API供游戏后台直接调用,API最好高效,比如C++直接调用,或者url调用等
3.能否做成像鼓鼓钱包这种直接用内盘帐号登录的

非常感激你的帮助。

很看好。

可以让用户直接提供私钥,像鼓鼓钱包一样,用户应该愿意,谨慎的用户可以选择往该账户转账少量的bts,新建一个bts帐号没什么成本。



Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
非常感谢你的回答,还是有些迷糊。先说下我跟朋友的计划。
我一直是虚拟币的爱好者,一直关注比特股,感觉BTS是一个非常好的币种,可惜它的价值一直被低估,去中心化的交易所也一直被ZB这种私有的交易所所影响,一直想推动比特股的发展。刚好我有个朋友的公司是做棋牌开发的,
所以我的有个用棋牌游戏结合BTS的计划,希望用游戏的娱乐来带动比特股的交易量上涨,也希望能做成全球首款虚拟币结算的棋牌游戏,来增加BTS的人气,给与BTS投资者信心,让更多的人关注比特股并参与推广比特股的发展。
现在有一些问题急需解决,希望帮忙解惑。

1.为了支持游戏,是否一定需要搭建本地节点
本地节点,你应该不是指运行棋牌客户端的pc机或者手机吧?不需要这样。

但是,你们在服务端最好是用自己节点,性能和安全性、稳定性都更有保证。

Quote
2.哪里寻找方便的API供游戏后台直接调用,API最好高效,比如C++直接调用,或者url调用等
自己搭节点的话,可以直接用节点自带的JSON-RPC格式的API,可以通过websocket方式通信,也可以是HTTP。

主要还是你要分析清楚,你要的功能,用什么样的技术架构实现。
区块链和普通CS或者BS开发不一样的。
比如鼓鼓钱包,大部分功能是手机直接和节点通信的,不是“游戏后台直接调用API”的模式。

Quote
3.能否做成像鼓鼓钱包这种直接用内盘帐号登录的

非常感激你的帮助。

你问“能否”,答案当然是“能”。

鼓鼓钱包客户端是有用户私钥的。

但是,鼓鼓钱包是钱包,你们是游戏,定位不一样,我个人觉得采用的技术方案应该有所区别。

所以,问题不该是做不做得到,而是这样做是不是更好。一般来说,非钱包软件,没人愿意直接给你私钥的。
除了直接要私钥,还有很多种方式,我在上一贴已经说了,希望你能看懂。
BitShares committee member: abit
BitShares witness: in.abit

Offline daicong210

非常感谢你的回答,还是有些迷糊。先说下我跟朋友的计划。
我一直是虚拟币的爱好者,一直关注比特股,感觉BTS是一个非常好的币种,可惜它的价值一直被低估,去中心化的交易所也一直被ZB这种私有的交易所所影响,一直想推动比特股的发展。刚好我有个朋友的公司是做棋牌开发的,
所以我的有个用棋牌游戏结合BTS的计划,希望用游戏的娱乐来带动比特股的交易量上涨,也希望能做成全球首款虚拟币结算的棋牌游戏,来增加BTS的人气,给与BTS投资者信心,让更多的人关注比特股并参与推广比特股的发展。
现在有一些问题急需解决,希望帮忙解惑。

1.为了支持游戏,是否一定需要搭建本地节点
2.哪里寻找方便的API供游戏后台直接调用,API最好高效,比如C++直接调用,或者url调用等
3.能否做成像鼓鼓钱包这种直接用内盘帐号登录的

非常感激你的帮助。

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
你好,我想做一个游戏直接用BTS帐号进行登录,包括游戏里面的游戏币的消耗都是直接进行BTS之间的转账,请问有哪些API可以用?对这些还是小白,非常期待并感激你的指导。

这个不止是API的问题。如果纯小白的话,不太好解释。

一、登录。要么用户把私钥给你(不推荐),要么用消息签名验证的模式,这个可以用API组合来做,也可以完全不用到API。

二、转账。这个主要是构造交易然后签名广播,还是基于私钥。具体业务逻辑实现有几种,因为目的是价值转移,并不是一定要用“转账”这个功能。比如,还可以用提案收款,可以订阅收款,可以挂单交易,可以用手续费定价,可以强制收回资产等等。

最近有个基于BTS的偷菜游戏可以参考下。 https://www.jianshu.com/p/371288dd182f
BitShares committee member: abit
BitShares witness: in.abit

Offline daicong210

你好,我想做一个游戏直接用BTS帐号进行登录,包括游戏里面的游戏币的消耗都是直接进行BTS之间的转账,请问有哪些API可以用?对这些还是小白,非常期待并感激你的指导。

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
« Last Edit: February 04, 2018, 05:31:07 pm by abit »
BitShares committee member: abit
BitShares witness: in.abit