syntax = "proto3"; package service; option java_package = "proto.walletServer"; option java_outer_classname = "walletServerProto"; option go_package = "../service"; message TransferRequest { string id = 1; // 转账id,供业务层识别 string network = 2; // 链网络名称,"eth" 或 "tron" string coin = 3; // 转账的币种,eth / trx / usdt / usdc string from = 4; // 转账的发起地址 string to = 5; // 代币的接收地址 // amount单位是实际精度, // 如:eth的精度是18,转账金额为: "12.345678",传递的参数amount为: "12345678000000000000" // trx/usdt/usdc精度是6,转账余额为: "1.21",传递的参数amount为: "1210000" string amount = 6; // 转账的金额 } message TransferResponse { TransferRequest req = 1; // 转账请求详情 string code = 2; // 响应码, 成功是200 string msg = 3; // 响应描述信息 string txHash = 4; // 交易发到链上的交易hash,业务层应该检测该hash的是否上链,上链才代表着转账成功 } service WalletServer { rpc Transfer(TransferRequest) returns(TransferResponse) {} }