线程安全及结构性缺陷问题
结构性缺陷:
- ChainClient 内有 setClientUser 接口,但这个方法非线程安全,导致了“代客交易”的这种 agent 需求无法使用该 sdk 实现。
- 本想多搞几个 ChainClient 实例想实现换用户进行链上操作,但 ChainManager 只开放了全局 singleton,且在 chainManager 中对单个 chainId 的 chainClient 也是全局唯一的,导致此路想开别的用户操作链,也是不可行。
建议:尽快升级 3.0 ,把那些 private 掉构造函数后又整个全局 singleton 的祖传粪堆给删掉吧,这导致了这个 sdk 存在结构性缺陷,限制了一个进程只能以单个用户的身份对链进行操作。
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information