`
cywhoyi
  • 浏览: 413307 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

简单远程多签签名服务架构设计

阅读更多

 

 



 

优势

  • 服务暂时就两个,交易、签名服务
  • 支持已有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")

 

  • 大小: 57.6 KB
1
0
分享到:
评论

相关推荐

    企业计算机网络安全系统设计与实现.docx

    在此过程中,企业网络人员逐渐实现了网络架构设计多层次,多元素化。它包括主机系统、应用服务、网络服务、资源、并支持业务的正常运行。 现在企业对网络的需求越来越高,对网络的依赖越来越强,这表明企业管理、...

    服务器安全管理规定.doc

    1、无特殊情况,服务器要关闭网络文件与打印服务、QoS、终端服务、授权服务、Si te Server ILS服务、消息队列服务〔MSMQ、远程存储、证书服务等其他暂时不用的服务。 2、服务器操作系统需设置安全策略,策略设定后要...

    基于可信计算的企业云签证协议设计与证明

    在可信云vTPM架构基础上,通过设计vAIK签证协议,建立vTPM与企业云部门终端之间的身份对应关系并保证了vTPM签名能力的合法性。通过设计vTPM远程证明协议使得企业云内部通信时的消息发送方身份可验。vAIK签证过程中的...

    JAVA上百实例源码以及开源项目源代码

    关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    asp.net知识库

    制作一个简单的多页Tab功能 一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标放在一个连接上,会显示图片(类似tooltip) 使用microsoft.web.ui...

    JAVA上百实例源码以及开源项目

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    安卓Android法律论坛设计可以导入Studio+源代码+文档说明+数据库.zip

    系统客户端和服务器端架构技术: 界面层,业务逻辑层,数据层3层分离技术,MVC设计思想! 服务器和客户端数据通信格式: XML格式(用于传输查询的记录集)和json格式(用于传输单个的对象信息) -------- 不懂运行,下载...

    企业计算机网络安全系统设计与实现.doc

    在 此过程中,企业网络人员逐渐实现了网络架构设计多层次,多元素化。它包括主机系统 、应用服务、网络服务、资源、并支持业务的正常运行。 现在企业对网络的需求越来越高,对网络的依赖越来越强,这表明企业管理、...

    JspRun!社区论坛系统 v6.0 bulid 090423 GBK 源码版.rar

    是飞速创想(北京)科技有限公司推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。JspRun! 的基础...

    JspRun!社区论坛系统 v6.0 bulid 090424 GBK 安装版.rar

    是飞速创想(北京)科技有限公司推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。JspRun! 的基础...

    .NET之美:.NET关键技术深入分析

    11.6.1远程回调方式说明 11.6.2客户端类型和服务端类型 …… 第12章 在.NET中操作XML 第13章 .NET应用程序配置 第14章 基于角色的安全性 第15章 .NET中的反射 第16章 多线程 第17章 对象生存期与垃圾收集

    网络安全设计方案(4).doc

    此时 ,它关心的对象是那些无权使用,但却试图获得远程服务的人。安全性也处理合法消息 被截获和重播的问题,以及发送者是否曾发送过该条消息的问题。 大多数安全性问题的出现都是由于有恶意的人试图获得某种好处或...

    精通ANDROID 3(中文版)1/2

    13.1.6 线程池、ContentProvider、外部服务组件  13.1.7 线程实用程序:发现线程  13.2 处理程序  13.2.1 持有主线程的影响  13.2.2 使用处理程序延迟主线程上的工作  13.2.3 延迟工作的处理程序源代码...

    精通Android 3 (中文版)2/2

    13.1.6 线程池、ContentProvider、外部服务组件  13.1.7 线程实用程序:发现线程  13.2 处理程序  13.2.1 持有主线程的影响  13.2.2 使用处理程序延迟主线程上的工作  13.2.3 延迟工作的处理程序源代码...

    最新ssm项目基于ssm框架的车辆出租管理系统+vue.zip

    该项目以Spring Spring MVC MyBatis作为后端技术架构,并结合前端Vue.js技术,旨在提供一个高效、方便且功能丰富的车辆出租服务。 以下是对该系统的主要功能和特点的介绍: 1. **车辆信息管理**:系统允许管理员...

    frp_0.33.0_darwin_arm64.tar.gz 手机内网穿透

    1.本工具为darwin-arm64架构,需要使用iPhone 64位架构的设备才能执行(仅IOS) 2.目前没有对该工具进行封装,目前只能以bash执行(有能力可以自己做成插件) 3.首次运行需要对frpc、fprs进行签名, 签名方式(iphone...

    极限网络办公Office Automation 2008.exe

    9、集成Internet邮件管理组件,提供 web方式的远程邮件服务 10、集成手机短信组件,重要信息可直接发送到员工手机,支持群发短信 11、集成网络硬盘组件,提供便捷的局域网、广域网文件共享方案 12、集成商业管理...

Global site tag (gtag.js) - Google Analytics