您当前的位置:网站首页>南开大学,区块链钱包开发,白羊

南开大学,区块链钱包开发,白羊

2019-04-20 01:23:23 投稿作者:admin 围观人数:148 评论人数:0次

开发钱包之前,咱们需求有以下的准备常识。

榜首,什么是钱包,以及相关的分类。

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

咱们怎么样了解钱包呢?简略讲它是衔接区块链的一个进口。现在比较老练的公链,如比特币、以太坊都有许多钱包可以挑选。一般钱包需求彻底拜访你的用户财物,也便是会要求你输入私钥。钱包的作恶本钱极低,这也是笔者主张挑选开源钱包的原因之一。



题图来自: admin / Delphi White Paper Inter乐播网p南开大学,区块链钱包开发,白羊retation / 8855104.com

第二,需求了解下什么是 RPCJSON-RPC 以及 JSON

长途进程调用(英语:Remote Procedure Call,缩写为 RPC)是一个核算机通信协议。该协议答应运转于一台核算机的程序调用另一台核算机的子程序,而程序员无需额外地为这个交互作用编程。假如触及的软件选用面向对象编程,那么长途进程调用亦可称作长途调用或长途办法调用,例:Java RMI。[1]

RPC 的首要南开大学,区块链钱包开发,白羊功用方针是让构建分布式核算(运用)更简略,在供给强壮的长途调用才能时不丢失本地调用的语义简洁性。

RPC 调用分为以下两种:

同步调用,客户方等候调用履行完结并回来成果。

异步调用,客户方调用后不必等候履行成果回来,但仍然可以经过回调告诉等方法获取回来成果。若客户方不关心调用回来成果,则变成单向异步调用,单向调用不必回来成果。

异步和同步的区别在于是否等候服务端履行完结并回来成果。

长途进程调用是一个分布式核算的客户端 - 服务器(Client/Server)的比方,它简略而又广受欢迎。长途进程调用总是由客户端对服务器宣布一个履行若干进程恳求,并用客户端供给的参数。履行成果将回来给客户端。因为存在林林总总的变体和细节差异,对应地派生了各式长途进程调用协议,并且它们并不相互兼容。其间咱们广为运用的是一个叫做 JSON-RPC 的协议。

JSON-RPC,是一个无状况且轻量级的长途进程调用(RPC)传送协议,其传递内容经过 JSON 为主。相较于一般的 REST 经过网址(如 G于智凤ET /user)调用长途服务器,JSON宇智波带土-RPC 直接在内容中界说了欲调用的函数称号(如 {“method”:南开大学,区块链钱包开发,白羊 “getUser”}),这也令开发者不会陷于该运用 PUT 或许 PATCH 的问题之中。 本标准首要界说了一些数据结构及其相关的处理规矩美观的日剧。它答应运转在依据 Socket、HTTP 等南开大学,区块链钱包开发,白羊许多不同音讯传输环境的同一进程中。其运用 JSON(RFC 4627)作为数据格局。[2]

JSON-RPC 运用了 JSON 格局,那 JSON 是什么呢?

JSON(JavaScript Object Notation)是一种轻量级的数据交换言语。 运用 J南开大学,区块链钱包开发,白羊SON 做数据交换的优点在于,一是兼容性高,二是可阅览性高,三是支撑较多的数据格局(农门继妃之错嫁离王府比方 number, string, booleans, nulls, array, associative array),四是支撑的言语较多。

第三,了解区块链相关的基础常识。

了解区块链,书本材料不唐少磊用,一本 通晓比特币 足矣。这儿就不赘述了。

第四,把握一门开发言语。

假如你是一门经验丰富的程序员,此条准备常识可以疏忽。假如你是一名非核算机科班出身的区块链技能爱好者,主张从 Python 直下手。一起,多了解下 JavaScript。

0x01 怎么样开发


假定咱们把准备常识都了解了,接下来咱们需求阅览比特币和以太坊的 RPC 接口。

咱们以比特币为例,依据 Original Bitcoin client/API calls list 文档咱们可以得到 RPC 接口提草鞋蚧供的函数列表。

以 sendrawtransaction 为例,这个函数列表供给了四列(Command、Parameters、Description、Requires unlocked wallet? ),别离表明函数名、传入参数、描绘、岱嵩村是否需求解锁钱包guard。

咱们把这个函数列表把握之后,可以挑选某一种言语,然后进行区块链钱包相关的开发。

当然,你还需求知道怎么样去布置一个比特币的彻底节点和测验网络,这样就可以使用 RPC 进行接口调用,来和区块链网络进行交互。


0x02 相关文档以及源码

这儿列出干流项目相关的 RPC 接口以及开源钱包项目,以供读者参阅。

2.1 Bitcoin


2.1.1 RPC


Original Bitcoin client/API calls list

API reference (JSON-RPC)

JSON RPC API

2.1.2 Wallet


Bitcoin Core,官方出品

bitcoinj,比特币协议 Java 版

bither,简略安全的比特币钱包

Electrum南开大学,区块链钱包开发,白羊,全渠道轻钱包

bread,iOS 快修先生网点查询钱包

Mycelium,Android 钱包

Copay,一起支撑英孚教育 Bitcoin 和 Bitcoin Cash

bitcoin-wallet,又一款 Android 钱包

DotNetWallet,.NET 完成的钱包

Coinpunk,依据浏览器的钱包

btcwallet,Go 完成的钱包

2.2 Ethereum/ERC20


2.2.1 RPC


JSON RPC

JSON RPC API

Management APIs

ethjsonrpc

web3.py

2.2.2 Wallet


go-ethereum,以太坊协议 Go 版

Mist,官方出品

Parity,支撑 Windows、Mac、PC 的钱包

MetaMask

MyEtherWallet,依据浏览器的钱包

eth-lightwa红烧鱼怎么做llet,轻量级 JavasSript 版别钱包

ethaddres南开大学,区块链钱包开发,白羊s.org,纸质版钱包生成器

eureal Wallet,支撑 Windows、Mac、PC 的钱包

2.3其新年伊始他


2.3.1 Zcash


Zcash,官方出品

2.步卒3.2 BitShares


B人流itShares,官方出品

2.3.3 Sia


Sia,官方出品

2.3.4 Nem


NanoWallet,官方出品

2.3.5 Dash


Dash,官方出品

2.3.6 Qtum


Qtum Core Wallet,官方出品

2.3.7 Litecoin


Litecoin,官方出品

2亚洲色情图.3.8 IOTA


IOTA Wallet,官方出品

2.3.9 Monero


Monero,官方出品

2关于春天的语句.3.10 GXS


GXS Wallet for mobile,官方出品

2.3.11 Ethereum Classic


Ethereum Classic下一年是什么年 Wallet,官方出品

0x03 小结


本文讲解了开发钱包的准备常识,包含榜首是什么是钱包,以及相关的分类,第二是 RPC、JSON-RPC 以及 JSON,第三是了解区块链相关的基础常识,第四是把握一门开发言语。接着浅谈了怎么样开发,最终列出了干流项目相关的 RPC 接口以及开源钱包项目。假如读者对钱包开发感兴趣,期望本文可以给读者一个指引。

0x04 参阅


[1] 维基百科 (2006-07-21). 长途进程调用. Retrieved from https://zh.wikipedia.org/wiki/遠程過程調用.

[2] 维基百科 (2017-04-19). JSON-RPC. Retrieved from https://zh.wikipedia.org/wiki/JSON-RPC.

the end
“一带一路”:中国的倡议,中行的机会