Skip to content

Commit

Permalink
更新文档
Browse files Browse the repository at this point in the history
  • Loading branch information
lmxdawn committed Jan 25, 2022
1 parent 6820f79 commit ae4606e
Showing 1 changed file with 37 additions and 1 deletion.
38 changes: 37 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,40 @@ $ wallet -c config/config-example.yml
# 吃鸡地址
> 0xDfdf53447cA55820Ec2B3dE9EA707A31579F5c0F
>
> 定制开发请联系:https://t.me/aa333555
> 定制开发请联系:https://t.me/aa333555
# 准备
要实现这些功能首先得摸清楚我们需要完成些什么东西

1. 获取最新区块
2. 获取区块内部的交易记录
3. 通过交易哈希获取交易的完成状态
4. 获取某个地址的余额
5. 创建一个地址
6. 签名并发送luo交易
7. 定义接口如下
```go
type Worker interface {
getNowBlockNum() (uint64, error)
getTransaction(uint64) ([]types.Transaction, uint64, error)
getTransactionReceipt(*types.Transaction) error
getBalance(address string) (*big.Int, error)
createWallet() (*types.Wallet, error)
sendTransaction(string, string, *big.Int) (string, error)
}
```
# 实现
> 创建一个地址后把地址和私钥保存下来
##
通过一个无限循环的服务不停的去获取最新块的交易数据,并且把交易数据都一一验证是否完成
,这里判断数据的接收地址(to)是否属于本服务创建的钱包地址,如果是本服务的创建过的地址则判断为充值成功,**(这时逻辑服务里面需要做交易哈希做幂等)**
##
用户发起一笔提出操作,用户发起提出时通过服务配置的私钥来打包并签名luo交易。(私钥转到用户输入的提出地址),这里把提交的luo交易的哈希记录到服务
通过一个无限循环的服务不停的去获取最新块的交易数据,并且把交易数据都一一验证是否完成
,这里判断交易数据的哈希是否存在于服务,如果存在则处理**(这时逻辑服务里面需要做交易哈希做幂等)**
## 归集
通过定期循环服务创建的地址去转账到服务配置的归集地址里面,这里需要注意归集数量的限制,当满足固定的数量时才去归集(减少gas费)

# 一个简单的示例

github地址: [golang 实现加密货币的充值/提现/归集服务](https://github.com/lmxdawn/wallet)

0 comments on commit ae4606e

Please sign in to comment.