Comments (18)
方案说明:
- 在chain33/system/里增加randnum模块,由base实现基本的消息处理,这里randnum只处理一种消息,请求随机数HASH消息,分发给child处理
- 在plugin/里增加randnum模块,ticket/dpos等作为randnum的child,以ticket为例,实现从区块中获取ticket交易,并根据规则生成一个Hash返回给请求者,兼容主链和平行链的请求,对于主链,直接根据请求者提供的高度来获取区块计算,对于平行链,根据请求者提供的交易HASH,获取主链对应高度,再进行计算
from chain33.
我觉得没有必要这样处理,dapp/ticket 模块中增加一个接口: GetRandHash 就可以了。
from chain33.
就是其他的dapp,直接到ticket这里来请求吗
from chain33.
先简单一点处理把。后面其他的比如tendermint 也要加,也可以在他的dapp query 里面增加一个相同的接口。而用户配置一下 执行器的名称就可以了。
from chain33.
统一 通过 Query 接口处理。
from chain33.
client.Query
from chain33.
用client 包。
from chain33.
这个Query实际由谁来相应呢
from chain33.
Query 已经有了。。
from chain33.
from chain33.
通过这个接口,可以在同一条链中调用,如果是平行链,那么用rpc 接口来调用
from chain33.
rpc接口调用主链
from chain33.
通过Query接口,发消息给ticket执行器,让ticket来进行实际逻辑计算,然后返回给调用者?
from chain33.
是的,这样可以吗?
from chain33.
我想一下,应该可以实现
from chain33.
平行链的调用主链随机数,可能只能用rpc 接口来做。这个可靠行上会差一些,后面我们再来研究进一步的方案。先实现一个简单的版本
from chain33.
@vipwzw 直接放到ticket的Query接口,在调试的时候遇到一个问题。由于需要获取最近几个区块信息,在尝试调用ticket.GetApi().GetBlocks(req)时发现,对于Query接口,driverbase没有设置过env,这个api是空的。
from chain33.
@jixingwei 先修复 driverbase env 的问题。设置一下 API
from chain33.
Related Issues (20)
- TxFee新增FeeLimit
- 以太坊地址大小写兼容问题 HOT 2
- 扩展Address driver接口 HOT 1
- 部署/调用合约的手续费问题 HOT 1
- 以太坊地址作为dbkey存储大小写敏感 HOT 2
- 执行 send 命令行时, 无法指定签名的地址类型 HOT 3
- 钱包增加 coin type 898 支持 HOT 1
- block TxHash未正确设置 HOT 1
- 32位机器上使用atomic需要保证字节对齐 HOT 1
- 平行链延时交易兼容问题 HOT 1
- 平行链扩容方案 HOT 1
- 平行链EVM交易出现ErrSign的错误 HOT 3
- 平行链的evm手续费问题 HOT 3
- eth 兼容交易哈希与chain33 哈希映射 HOT 1
- 单元测试偶发失败 HOT 1
- chain33进程无法退出 HOT 1
- 源码编译 HOT 1
- 平行链执行器地址格式兼容 HOT 1
- blockchain同步处理导致死锁
- queue 模块单元测试偶现超时问题 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chain33.