优势
- 服务暂时就两个,交易、签名服务
- 支持已有trade服务,即不改变已有api服务,无缝连接
- 协议走proto3,字节小+安全
- 支持同步和异步服务
- 支持机器人push
- 支持多终端,web UI采用react,backend用golang1.12
- 网络隔离
- 支持m of N的多签的钱包交易
劣势
- 编程难度提升
- 存在安全隐患
客户公司早期使用的Java语言作为服务端
syntax = "proto3"; option java_multiple_files = true; option java_package = "com.peckshield.dapp"; option java_outer_classname = "SignatureProto"; option objc_class_prefix = "SIGN"; package protos; service SignatureRemote { rpc sign (SignatureRequest) returns (SignatureResponse) {} ; } message SignatureRequest { string nonce =1; int64 amount =2 ; uint64 gasLimit =3; int64 gasPrice=4; string toaddress = 5; } message SignatureResponse { string data = 1; }
区块链服务采用golang开发:
type Server struct{} func (s *Server) sign(context context.Context, in *pb.SignatureRequest)(*pb.SignatureResponse, error) { tx := types.NewTransaction(nonce, tokenAddress, value, gasLimit*2, gasPrice, data) signedTx, err := types.SignTx(tx, types.HomesteadSigner{}, privateKey) if err != nil { log.Fatal(err) } data, _ := rlp.EncodeToBytes(signedTx) fmt.Println(common.ToHex(data2)) return &pb.SignatureResponse{Message: data}, nil } func main() { listen, err := net.Listen("tcp", grpcPort) if err != nil { fmt.Printf("failed to listen: %v\n", err) return } fmt.Printf("SUCCESS")
相关推荐
在此过程中,企业网络人员逐渐实现了网络架构设计多层次,多元素化。它包括主机系统、应用服务、网络服务、资源、并支持业务的正常运行。 现在企业对网络的需求越来越高,对网络的依赖越来越强,这表明企业管理、...
1、无特殊情况,服务器要关闭网络文件与打印服务、QoS、终端服务、授权服务、Si te Server ILS服务、消息队列服务〔MSMQ、远程存储、证书服务等其他暂时不用的服务。 2、服务器操作系统需设置安全策略,策略设定后要...
在可信云vTPM架构基础上,通过设计vAIK签证协议,建立vTPM与企业云部门终端之间的身份对应关系并保证了vTPM签名能力的合法性。通过设计vTPM远程证明协议使得企业云内部通信时的消息发送方身份可验。vAIK签证过程中的...
关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...
制作一个简单的多页Tab功能 一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标放在一个连接上,会显示图片(类似tooltip) 使用microsoft.web.ui...
关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...
系统客户端和服务器端架构技术: 界面层,业务逻辑层,数据层3层分离技术,MVC设计思想! 服务器和客户端数据通信格式: XML格式(用于传输查询的记录集)和json格式(用于传输单个的对象信息) -------- 不懂运行,下载...
在 此过程中,企业网络人员逐渐实现了网络架构设计多层次,多元素化。它包括主机系统 、应用服务、网络服务、资源、并支持业务的正常运行。 现在企业对网络的需求越来越高,对网络的依赖越来越强,这表明企业管理、...
是飞速创想(北京)科技有限公司推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。JspRun! 的基础...
是飞速创想(北京)科技有限公司推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。JspRun! 的基础...
11.6.1远程回调方式说明 11.6.2客户端类型和服务端类型 …… 第12章 在.NET中操作XML 第13章 .NET应用程序配置 第14章 基于角色的安全性 第15章 .NET中的反射 第16章 多线程 第17章 对象生存期与垃圾收集
此时 ,它关心的对象是那些无权使用,但却试图获得远程服务的人。安全性也处理合法消息 被截获和重播的问题,以及发送者是否曾发送过该条消息的问题。 大多数安全性问题的出现都是由于有恶意的人试图获得某种好处或...
13.1.6 线程池、ContentProvider、外部服务组件 13.1.7 线程实用程序:发现线程 13.2 处理程序 13.2.1 持有主线程的影响 13.2.2 使用处理程序延迟主线程上的工作 13.2.3 延迟工作的处理程序源代码...
13.1.6 线程池、ContentProvider、外部服务组件 13.1.7 线程实用程序:发现线程 13.2 处理程序 13.2.1 持有主线程的影响 13.2.2 使用处理程序延迟主线程上的工作 13.2.3 延迟工作的处理程序源代码...
该项目以Spring Spring MVC MyBatis作为后端技术架构,并结合前端Vue.js技术,旨在提供一个高效、方便且功能丰富的车辆出租服务。 以下是对该系统的主要功能和特点的介绍: 1. **车辆信息管理**:系统允许管理员...
1.本工具为darwin-arm64架构,需要使用iPhone 64位架构的设备才能执行(仅IOS) 2.目前没有对该工具进行封装,目前只能以bash执行(有能力可以自己做成插件) 3.首次运行需要对frpc、fprs进行签名, 签名方式(iphone...
9、集成Internet邮件管理组件,提供 web方式的远程邮件服务 10、集成手机短信组件,重要信息可直接发送到员工手机,支持群发短信 11、集成网络硬盘组件,提供便捷的局域网、广域网文件共享方案 12、集成商业管理...