易友区块链开发

区块链开发、区块链APP开发、区块链应用开发

​区块链虚拟币钱包开发需要注意什么

区块链虚拟币钱包开发需要注意什么




开发钱包之前,我们需要有以下的预备知识。


第一,什么是钱包,以及相关的分类。


本文站在开发者的角度,给读者讲解下怎么样和钱包进行交互,以及如何开发一个钱包。


我们怎么样理解钱包呢?简单讲它是连接区块链的一个入口。目前比较成熟的公链,如比特币、以太坊都有很多钱包可以选择。一般钱包需要完全访问你的用户资产,也就是会要求你输入私钥。钱包的作恶成本极低,这也是笔者建议选择开源钱包的原因之一。



第二,需要了解下什么是 RPC、JSON-RPC 以及 JSON。


远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用,例:Java RMI。[1]


RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。


RPC 调用分为以下两种:


同步调用,客户方等待调用执行完成并返回结果。


异步调用,客户方调用后不用等待执行结果返回,但依然可以通过回调通知等方式获取返回结果。若客户方不关心调用返回结果,则变成单向异步调用,单向调用不用返回结果。


异步和同步的区分在于是否等待服务端执行完成并返回结果。


远程过程调用是一个分布式计算的客户端 - 服务器(Client/Server)的例子,它简单而又广受欢迎。远程过程调用总是由客户端对服务器发出一个执行若干过程请求,并用客户端提供的参数。执行结果将返回给客户端。由于存在各式各样的变体和细节差异,对应地派生了各式远程过程调用协议,而且它们并不互相兼容。其中我们广为使用的是一个叫做 JSON-RPC 的协议。


JSON-RPC,是一个无状态且轻量级的远程过程调用(RPC)传送协议,其传递内容通过 JSON 为主。相较于一般的 REST 通过网址(如 GET /user)调用远程服务器,JSON-RPC 直接在内容中定义了欲调用的函数名称(如 {“method”: “getUser”}),这也令开发者不会陷于该使用 PUT 或者 PATCH 的问题之中。 本规范主要定义了一些数据结构及其相关的处理规则。它允许运行在基于 Socke





cache
Processed in 0.008506 Second.