https://app.diagrams.net/#G1-PE7MJgGUwYx9vljHBQnxdlffztkQdYu
http://18.180.248.43:8763/exchange/trade/ETH_USDT
may need to install metamask browser extension
https://www.rust-lang.org/tools/install
先做这个吧,当做上手工具链。根据 https://github.com/driftluo 所说,env logger 这个在异步运行时里面是个巨坑,它的实现是原地调用 os std writer,会造成 executor 卡线程,os 的 stdin 是上锁的。异步运行时的 Future 是非堵塞的。
我自己测试时也有遇到 log 不打印的情况,https://github.com/Fluidex/prover-cluster/commit/7ac6a7bd24579a6717beeb684fb790f5beb96685 里面 https://github.com/Fluidex/prover-cluster/blob/7ac6a7bd24579a6717beeb684fb790f5beb96685/src/client/watch.rs 改成
if self.is_busy.load(Ordering::SeqCst) {
log::info!("is_busy is_busy is_busy");
continue;
}
并不打印,应该和上述原因有关
需求:调研并换用别的 logger。感觉应该可以用这个: https://github.com/matter-labs/zksync/tree/master/core/lib/vlog
这个虽然也不紧急,也不难,但当做是学习 async了
一些学习资料:
- https://doc.rust-lang.org/std/thread/fn.spawn.html
- https://doc.rust-lang.org/std/thread/
- https://kaisery.github.io/trpl-zh-cn/ch16-01-threads.html
这个比前面几个稍微难点,但基本上属于算法&数据结构题型?
√ 6. 整理 https://github.com/Fluidex/plonkit prover_server 的代码
感觉 https://github.com/Fluidex/plonkit/blob/97af8d71c8b7b08d97aec171dcdad1a7be6295e9/src/main.rs#L261-L323 和 https://github.com/Fluidex/plonkit/blob/97af8d71c8b7b08d97aec171dcdad1a7be6295e9/src/server.rs 可以再整理一下
https://github.com/Fluidex/rollup-state-manager/blob/a255043cbe7c899c6a8d9cc46b170a40f20623c9/tests/test_global_state.rs 这里面很多代码是可以整理了放到 test_utils 里面的。params 换成 ENV 来读。
调研是否有换 logger 的必要