开发钱包之前,我们需要有以下的预备知识。
第一,什么是钱包,以及相关的分类。
本文站在开发者的角度,给读者讲解下怎么样和钱包进行交互,以及如何开发一个钱包。
我们怎么样理解钱包呢?简单讲它是连接区块链的一个入口。目前比较成熟的公链,如比特币、以太坊都有很多钱包可以选择。一般钱包需要完全访问你的用户资产,也就是会要求你输入私钥。钱包的作恶成本极低,这也是笔者建议选择开源钱包的原因之一。
题图来自:?admin/DelphiWhitePaperInterpretation/8855104.com
第二,需要了解下什么是?RPC、JSON-RPC?以及?JSON。
远程过程调用是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用,例:JavaRMI。
三菱日联信托银行将联合两家公司将日元稳定币引入Cosmos生态:7月7日消息,跨链桥提供商TOKI和代币发行协议Noble,将与三菱日联信托银行旗下稳定币平台Progmat合作,将完全抵押的日元稳定币引入Cosmos生态系统。
虽然最初的计划是在Cosmos IBC上提供这些稳定币,但TOKI团队希望最终这些稳定币能够与以太坊上的稳定币进行跨链交换,并用于跨链借贷。Noble预计将于2024年春季发行日元稳定币。TOKI 本身将于今年第四季度推出其主网。[2023/7/7 22:23:45]
RPC的主要功能目标是让构建分布式计算更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。
RPC调用分为以下两种:
同步调用,客户方等待调用执行完成并返回结果。
异步调用,客户方调用后不用等待执行结果返回,但依然可以通过回调通知等方式获取返回结果。若客户方不关心调用返回结果,则变成单向异步调用,单向调用不用返回结果。
异步和同步的区分在于是否等待服务端执行完成并返回结果。
Cosmos Hub修订版白皮书上链投票被推迟至10月31日:10月29日消息,据Cosmos Hub论坛显示,Cosmos此前发布的修订版白皮书上链的社区投票已经被推迟至10月31日,此前曾计划在10月3日和10月24日开始投票,但均被推迟。
此前报道,该白皮书概述了Cosmos Hub作为链间安全核心的全新角色,这意味着其他链将能够使用Cosmos Hub来保护自己的网络。白皮书还介绍了旨在为Cosmos Hub的原生代币ATOM增值的机制,ATOM作为宇宙网络中首选抵押品的新角色。Cosmos Hub将很快支持流动性质押功能,从而提高ATOM的流动性,未来还将长期大幅减少向网络中发行的ATOM代币数量。[2022/10/29 11:55:50]
远程过程调用是一个分布式计算的客户端-服务器的例子,它简单而又广受欢迎。远程过程调用总是由客户端对服务器发出一个执行若干过程请求,并用客户端提供的参数。执行结果将返回给客户端。由于存在各式各样的变体和细节差异,对应地派生了各式远程过程调用协议,而且它们并不互相兼容。其中我们广为使用的是一个叫做?JSON-RPC?的协议。
SupraOracles与CosmoSpace Technologies达成合作:8月4日,据官方消息,跨链预言机解决方案SupraOracles宣布与CosmoSpace Technologies达成合作。CosmoSpace致力于为投资者和早期项目设计一个可靠的生态系统,主要重点是培养一个有机的、消息灵通的、相互支持的社区。此外,Cosmospace Ventures致力于投资和协助早期区块链公司,如Metaverse、GameFi、DeFi、NFT、Web3、Layer 1和Layer 2项目。
通过此次合作,SupraOracles将为CosmoSpace提供各种预言机服务和数据,以确保其顺利运营和支持即将开展的项目。[2022/8/4 12:02:30]
JSON-RPC,是一个无状态且轻量级的远程过程调用传送协议,其传递内容通过JSON为主。相较于一般的REST通过网址调用远程服务器,JSON-RPC直接在内容中定义了欲调用的函数名称,这也令开发者不会陷于该使用PUT或者PATCH的问题之中。本规范主要定义了一些数据结构及其相关的处理规则。它允许运行在基于Socket、HTTP等诸多不同消息传输环境的同一进程中。其使用JSON作为数据格式。
Cosmos生态DEX Osmosis总交易量突破40亿美元:1月6日消息,据TokenTerminal数据,Cosmos生态DEXOsmosis总交易量已达43亿美元,60日内增长约2倍。同时,Osmosis总锁仓量已突破10亿美元。据悉,Osmosis计划在未来拓展至包括以太坊在内的多个区块链网络。[2022/1/6 8:30:18]
JSON-RPC使用了JSON格式,那JSON是什么呢?
JSON是一种轻量级的数据交换语言。?使用JSON做数据交换的好处在于,一是兼容性高,二是可阅读性高,三是支持较多的数据格式,四是支持的语言较多。
第三,了解区块链相关的基础知识。
了解区块链,书籍资料不用,一本?精通比特币?足矣。这里就不赘述了。
第四,掌握一门开发语言。
如果你是一门经验丰富的程序员,此条预备知识可以忽略。如果你是一名非计算机科班出身的区块链技术爱好者,建议从Python入手。同时,多了解下JavaScript。
分析 | XLM是Ethereum ICOs的最大竞争对手:据Coincryptorama分析文章,虽然Ethereum这个平台仍然主导着ICO的市场,但Ethereum的可可扩展性和交易速度问题以及频繁的网络堵塞已经开始将新的ICOs驱逐到其他平台。Stellar(XLM)平台主要致力于低成本、快速支付和价值转移,但也有简单的ICO启动能力。其次,Stellar提供内置的令牌功能,可以支持多签名授权、产生红利等。可能最重要的是,Stellar系统拥有一个分布式交易所,而无需依赖第三方交易所来列出令牌。[2018/10/24]
0x01怎么样开发
假设我们把预备知识都了解了,接下来我们需要阅读比特币和以太坊的RPC接口。
我们以比特币为例,根据OriginalBitcoinclient/APIcallslist文档我们可以得到RPC接口提供的函数列表。
以sendrawtransaction为例,这个函数列表提供了四列,分别表示函数名、传入参数、描述、是否需要解锁钱包。
我们把这个函数列表掌握之后,可以选择某一种语言,然后进行区块链钱包相关的开发。
当然,你还需要知道怎么样去部署一个比特币的完全节点和测试网络,这样就可以利用RPC进行接口调用,来和区块链网络进行交互。
0x02相关文档以及源码
这里列出主流项目相关的RPC接口以及开源钱包项目,以供读者参考。
2.1Bitcoin
2.1.1RPC
OriginalBitcoinclient/APIcallslist
APIreference(JSON-RPC)
JSONRPCAPI
2.1.2Wallet
BitcoinCore,官方出品
bitcoinj,比特币协议Java版
bither,简单安全的比特币钱包
Electrum,全平台轻钱包
bread,iOS钱包
Mycelium,Android钱包
Copay,同时支持Bitcoin和BitcoinCash
bitcoin-wallet,又一款Android钱包
DotNetWallet,.NET实现的钱包
Coinpunk,基于浏览器的钱包
btcwallet,Go实现的钱包
2.2Ethereum/ERC20
2.2.1RPC
JSONRPC
JSONRPCAPI
ManagementAPIs
ethjsonrpc
web3.py
2.2.2Wallet
go-ethereum,以太坊协议Go版
Mist,官方出品
Parity,支持Windows、Mac、PC的钱包
MetaMask
MyEtherWallet,基于浏览器的钱包
eth-lightwallet,轻量级JavasSript版本钱包
ethaddress.org,纸质版钱包生成器
ИeurealWallet,支持Windows、Mac、PC的钱包
2.3其他
2.3.1Zcash
Zcash,官方出品
2.3.2BitShares
BitShares,官方出品
2.3.3Sia
Sia,官方出品
2.3.4Nem
NanoWallet,官方出品
2.3.5Dash
Dash,官方出品
2.3.6Qtum
QtumCoreWallet,官方出品
2.3.7Litecoin
Litecoin,官方出品
2.3.8IOTA
IOTAWallet,官方出品
2.3.9Monero
Monero,官方出品
2.3.10GXS
GXSWalletformobile,官方出品
2.3.11EthereumClassic
EthereumClassicWallet,官方出品
0x03小结
本文讲解了开发钱包的预备知识,包括第一是什么是钱包,以及相关的分类,第二是RPC、JSON-RPC以及JSON,第三是了解区块链相关的基础知识,第四是掌握一门开发语言。接着浅谈了怎么样开发,最后列出了主流项目相关的RPC接口以及开源钱包项目。如果读者对钱包开发感兴趣,希望本文能够给读者一个指引。
0x04参考
维基百科(2006-07-21).远程过程调用.Retrievedfromhttps://zh.wikipedia.org/wiki/遠程過程調用.
维基百科(2017-04-19).JSON-RPC.Retrievedfromhttps://zh.wikipedia.org/wiki/JSON-RPC.
区块链钱包开发,钱包开发技术服务商
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。