`
cywhoyi
  • 浏览: 418120 次
  • 性别: 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
分享到:
评论

相关推荐

    行业文档-设计装置-远程配置手机浏览器书签和手机快速连接WAP网站的方法.zip

    本行业文档深入探讨了如何设计装置以实现远程配置这些功能,旨在为开发者、产品经理以及IT专业人员提供详尽的技术指导。 首先,我们要理解手机浏览器书签的基本原理。书签是用户保存常用网站地址的一种方式,它简化...

    数字签名服务器介绍.ppt

    在应用模式方面,数字签名服务器采用B/S架构设计,支持通过浏览器进行服务器基础参数的维护、证书撤销列表的获取、远程服务器控制和审计信息处理。服务器部分提供API接口,包括C接口和Java接口,而客户端软件则包括...

    一种结合车联网和C-V2X的终端设备系统架构设计.pdf

    结合车联网和C-V2X技术的终端设备系统架构设计,旨在通过高效的通信模块和先进的信息处理能力,推动智能交通系统的发展,实现交通事故的减少和交通效率的提升,最终为驾驶者提供一个更安全、更便捷的驾驶体验。...

    基于HTTPS的远程数据通信身份认证服务设计与实现.pdf

    身份认证服务的设计目标是确保智能采集终端与远程数据平台之间的通信安全,主要包含以下几个关键环节: 2.1 证书机制 为了验证智能终端的唯一性,可以采用数字证书机制。每个智能终端在出厂时预装由权威机构签发的...

    医院多模态电子签名体系建设.pdf

    应用场景方面,多模态电子签名体系广泛应用于医院业务的接诊、医嘱审核、病历记录、远程会诊、报告检查、电子处方、互联网诊疗等多个方面,极大地提高了医院日常运营的效率。此外,电子签名的场景化设计确保了每次...

    行业文档-设计装置-基于8635架构的多媒体信息播放盒.zip

    标题中的“行业文档-设计装置-基于8635架构的多媒体信息播放盒”表明了这份资料主要聚焦在一种特定的多媒体信息播放设备的设计上,该设备采用了8635架构。8635架构通常指的是基于Intel Atom E3900系列处理器的系统级...

    java远程方法调用

    在RMI中,远程接口定义了客户端可调用的方法签名,而实现类则提供了这些方法的具体逻辑。远程对象的引用通过URL进行标识,客户端通过这个URL可以从服务器端获取远程对象并调用其方法。 #### 二、RMI的基本组件 RMI...

    STM32远程下载 isp

    总的来说,STM32远程下载ISP系统是一项综合性的工程,涉及到网络编程、嵌入式系统设计、微控制器编程等多个领域。通过这样的系统,我们可以实现对分布在各地的STM32设备的远程管理和维护,大大提高了效率和便利性。

    大型应用系统架构设计 淘宝分布式调用跟踪系统介绍 共60页.pptx

    【大型应用系统架构设计——淘宝分布式调用跟踪系统】\n\n在当今的互联网环境中,大型应用系统的复杂性日益增加,涉及到远程服务调用、消息通讯、数据库分库分表、分布式缓存以及分布式文件系统等多种技术。...

    行业分类-电子-基于外挂芯片式远程刷新电源FIRMWARE的设计方法的说明分析.rar

    在电子行业中,FIRMWARE是一种...总的来说,基于外挂芯片式远程刷新电源FIRMWARE的设计是一项综合性的工程任务,涵盖了硬件、软件、通信和安全等多个领域,对于提升电子设备的智能化水平和降低运维成本具有重要意义。

    Web Services 技术架构

    Web Services技术架构的应用广泛,涵盖了B2B集成、企业应用集成(EAI)、云计算等多个领域。例如,企业可以通过Web Services公开内部系统,使得合作伙伴能够远程访问和交互,实现供应链管理、库存控制等功能。此外,...

    基于Java三层架构的网络文件传输系统的研究与实现.pdf

    - **组件化设计**:各层的独立性和模块化设计使得系统维护和升级变得更加简单。 综上所述,基于Java三层架构的网络文件传输系统不仅提供了高效的数据处理机制,还具备高度的安全性和灵活性,非常适合应用于需要大量...

    ARM架构和X86_64架构rpmbuild制作openssh和openssl的rpm包

    `openssh`提供安全的远程登录和其他网络服务,如SFTP和SCP,而`openssl`则是一个强大的安全套接字层(SSL)和传输层安全(TLS)库,支持各种加密算法和协议,广泛用于网络通信的安全加密。 在ARM架构上构建`openssh`和`...

    电子通信设计资料基于AVR单片机的远程控制系统的研究

    根据提供的文件信息,本文将详细解析“电子通信设计资料基于AVR单片机的远程控制系统的研究”这一主题涉及的关键知识点。 ### 一、AVR单片机简介 AVR单片机是由Atmel公司(现已被Microchip收购)开发的一款高性能...

    基于STM32的远程升级系统的设计.zip

    STM32是一款广泛应用在嵌入式...读者可以期待深入理解STM32远程升级系统的架构、实现方法以及相关挑战和解决方案。通过这样的系统,开发者可以为STM32设备提供持续的软件支持和服务,提升产品的生命周期和用户体验。

    C#医院管理系统源码 (CS架构).rar

    总之,《C#医院管理系统源码 (CS架构)》是一个涵盖了多种技术与设计理念的综合项目,涉及到软件工程、数据库管理、网络通信等多个领域的知识。通过学习和理解这个系统,开发者可以深入了解C#编程和医院管理的实际...

    网络环境中远程医疗保健服务分布式安全模型.pdf

    5. 认证、机密性、隐私性和完整性:在远程医疗保健服务中,分布式安全模型要基于一系列安全因素进行设计,这些因素包括认证、机密性、隐私性和完整性。认证是指确保用户身份真实性的机制;机密性确保传输的数据只能...

    远程更新技术

    远程更新技术在IT行业中扮演着至关重要的角色,尤其是在C/S(客户端/服务器)架构的应用程序中,它提供了高效、便捷的软件更新方式。通过远程更新技术,开发人员能够实时推送新版本到用户设备上,无需用户手动下载...

    系统架构设计师必备知识点九.pdf

    本文将详细讲解系统架构设计师必备知识点九中的系统安全、数据加密技术和数字签名等重要概念。 系统安全 系统安全是指保护计算机系统和网络免受非法访问、使用、披露、破坏或修改的各种手段和措施。系统安全性分析...

Global site tag (gtag.js) - Google Analytics