- 创建钱包
- 查询余额
- 转账
- 上报币种
Transaction:
Field | Type | Unique | Optional | Nillable | Default | UpdateDefault | Immutable | StructTag | Validators |
---|---|---|---|---|---|---|---|---|---|
id | string | true | false | false | true | false | false | json:"id,omitempty" | 0 |
nonce | uint64 | false | false | false | true | false | false | json:"nonce,omitempty" | 0 |
coin_type | int8 | false | false | false | true | false | false | json:"coin_type,omitempty" | 0 |
transaction_id | string | false | false | false | true | false | false | json:"transaction_id,omitempty" | 1 |
from | string | false | false | false | true | false | false | json:"from,omitempty" | 1 |
to | string | false | false | false | true | false | false | json:"to,omitempty" | 1 |
value | float64 | false | false | false | true | false | false | json:"value,omitempty" | 0 |
state | transaction.State | false | false | false | false | false | false | json:"state,omitempty" | 0 |
payout | string | false | false | false | false | false | false | json:"payout,omitempty" | 0 |
create_at | uint32 | false | false | false | true | false | false | json:"create_at,omitempty" | 0 |
update_at | uint32 | false | false | false | true | true | false | json:"update_at,omitempty" | 0 |
delete_at | uint32 | false | false | false | true | false | false | json:"delete_at,omitempty" | 0 |
state字段说明:
value | define | desc |
---|---|---|
0 | TransactionStateUnKnow | 未知 |
30 | TransactionStatePrepare | 准备状态,需要从私钥中获取如ViewKey信息等,不是所有币种都需要 |
1 | TransactionStateWait | 等待,交易创建时的初始状态 |
2 | TransactionStateSign | 签名 |
20 | TransactionStateBroadcast | 广播 |
3 | TransactionStateSync | 等待上链 |
4 | TransactionStateDone | 交易成功 |
5 | TransactionStateFail | 交易失败 |
- make init
初始化仓库,创建go.mod
- make verify
验证开发环境与构建环境,检查code conduct
- make verify-build
编译目标
- make test
单元测试
- make generate-docker-images
生成docker镜像
- make service-sample
单独编译服务
- make service-sample-image
单独生成服务镜像
- make deploy-to-k8s-cluster
部署到k8s集群
- 每个服务只提供单一可执行文件,有利于docker镜像打包与k8s部署管理
- 每个服务提供http调试接口,通过curl获取调试信息
- 集群内服务间direct call调用通过服务发现获取目标地址进行调用
- 集群内服务间event call调用通过rabbitmq解耦
- 创建app后,从app.Mysql()获取本地mysql client
- 文档参考
对离线钱包的操作抽象接口,从服务中剥离出来