前不久,我写了一篇设计稳定币系统的文章,有很多朋友和交流一些细节,我发现很多同学想详细了解托管类系统,如何处理资金安全问题。从这篇文章开始,将以交易所为例,设计和实现一个安全且极简的加密货币托管系统,以便大家在实现类似系统的时候有一个参考。因为管理资金的是钱包,托管系统有时也叫交易所钱包系统。交
在交易所钱包系统中,我们通过内网隔离 wallet 主模块与 signer 签名机,提升了整体安全性。签名机基于 BIP39 / BIP32 / BIP44 标准,以单一助记词派生无限地址,降低了备份和迁移成本。 结合交互式密码隐藏输入机制,加强安全性。
wallet
signer
在前三篇文章,我们分别介绍了交易所钱包系统的整体架构设计、签名机与用户账户生成的方案以及用户充值,这篇文章介绍如何为交易所增加提现功能。提现流程用户提现流程通常是这样的:用户发起一个提现后端业务判断用户是否有足够的余额,是否大于最小的提现金额风控做异常地址、提现限额等检测,签名许可
本文从通过钱包发起交易开始,解析钱包如何构建交易数据,如何设定 Gas,如何签名及序列化交易。以及当节点接收到交易后,如何验证、EVM 如何执行对应的 Solidity 字节码,如何退还 GAS 等。
值得所有开发者们仔细阅读。