keyManager.proto 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. syntax = "proto3";
  2. package service;
  3. option java_package = "proto.keyManager";
  4. option java_outer_classname = "keyManagerProto";
  5. option go_package = "../service";
  6. message CreateMnemonicRequest {
  7. string name = 1; // 商户名字,名字全局唯一,每个商户只能生成一个助记词
  8. int64 mnemonicType = 2; // 0 or 1, 0代表12个助记词,1代表24个助记词
  9. }
  10. message CreateMnemonicResponse {
  11. string code = 1; // 响应码, 成功是200
  12. string msg = 2; // 响应描述信息
  13. }
  14. message CreateKeyRequest {
  15. string name = 1; // 商户名字,如果该商户未创建助记词,则返回错误
  16. string network = 2; // 链网络名称,"eth" 或 "tron"
  17. int64 index = 3; // 派生账户使用的index,如果该index已被使用,则返回错误
  18. }
  19. message GetIndexRequest {
  20. string network = 1; // 链网络名称,"eth" 或 "tron"
  21. string address = 2; // 查询该地址对应的商户名字和index
  22. }
  23. message GetAddressRequest {
  24. string name = 1; // 商户名字,如果该商户未创建助记词,则返回错误
  25. string network = 2; // 链网络名称,"eth" 或 "tron"
  26. int64 index = 3; // 派生账户使用的index
  27. }
  28. message KeyResponse {
  29. string code = 1; // 响应码, 成功是200
  30. string msg = 2; // 响应描述信息
  31. string network = 3; // 链网络名称,"eth" 或 "tron"
  32. string name = 4; // 商户名字
  33. int64 index = 5; // 派生账户使用的index
  34. string address = 6; // 地址
  35. }
  36. message SignRequest {
  37. string network = 1; // 链网络名称,"eth" 或 "tron"
  38. string sender = 2; // 签名地址
  39. string tx = 3; // 编码的交易,先将eth/tron交易Marshal为字符数组,再编码为hex字符串
  40. }
  41. message SignResponse {
  42. string code = 1; // 响应码, 成功是200
  43. string msg = 2; // 响应描述信息
  44. string network = 3; // 链网络名称,"eth" 或 "tron"
  45. string sender = 4; // 签名地址
  46. string signedTx = 5; // 编码的已签名交易,先将eth/tron已签名交易Marshal为字符数组,再编码为hex字符串
  47. }
  48. service KeyManager {
  49. rpc CreateMnemonic(CreateMnemonicRequest) returns(CreateMnemonicResponse) {}
  50. rpc CreateKey(CreateKeyRequest) returns(KeyResponse) {}
  51. rpc GetIndex(GetIndexRequest) returns(KeyResponse) {}
  52. rpc GetAddress(GetAddressRequest) returns(KeyResponse) {}
  53. rpc Sign(SignRequest) returns(SignResponse) {}
  54. }