作为虚拟币行业人士而言,我们经常都会说到区块链dapp钱包开发时有很多细节是需要注意的。你知道区块链dapp程序开发?今天就让小编跟你们说说吧!
DApp是Decentralized Application的缩写,中文叫分布式应用/去中心化应用,是基于区块链底层开发平台建立的,比如以太坊和EOS。DApp与底层平台的关系,就好比APP与IOS和Android系统。
一个真正的DApp应用,需要同时满足以下几个条件:
1. 应用必须完全开源、自治,且没有一个实体控制着该应用超51%Token。该应用必须能够根据用户的反馈及技术要求进行升级,且应用升级必须由大部分用户意见达成一致之后方可进行;
2. 应用的数据必须加密后存储在公开的区块链上;
3. 应用必须拥有Token机制(可用基于相同底层区块链平台的通用代币或自行发行新币),矿工或应用维护节点需要得到代币奖励;
4. 应用代币的产生必须依据标准的加密算法,有价值的节点可以根据该算法获取应用的代币奖励。
TokenPocket钱包官网: TokenPocket – 你的通用数字钱包 | EOS钱包 – 以太坊钱包 – BOS钱包 – 墨客钱包 – ENU钱包 – 井通钱包
本文仅介绍以太坊系列的DApp开发,其他链原理差不太多。
MetaMask安装完成并运行后,可以在Chrome控制台打印 MetaMask注入的window.ethereum对象
关于ethereum对象,我们只需要关心 ethereum.request 就足够了,MetaMask 使用 ethereum.request(args) 方法 来包装 RPC API。这些 API 基于所有以太坊客户端公开的接口。 简单来说钱包交互的大部分操作都是由 request() 方法实现,通过传入不同的方法名来区分。
?? 即使ethereum对象中提供了chainId,ietaMask,selectAddress属性,我们也不能完全相信这些属性,他们是不稳定或不标准,不建议使用。我们可以通过上面说的request方法,拿到可靠的数据 。
钱包通过method方法名,进行对应的实现 以获取钱包地址为例
调用 ethereum.request({ method: “eth_requestAccounts” }) ,钱包实现了该方法,那么就可以拿到钱包的地址了。
MetaMask注入的 window.ethereum 就是一个Provider,一个RPC节点也是一个Provider,通过Provider,我们有了访问区块链的能力。 在连接到钱包的情况下,通常使用钱包的Provider就可以了, ethers.providers.Webrovider(ethereum)
如果只需要查询一些区块链数据,可以使用EtherscanProvider 和 InfuraProvider 连接公开的 第三方节点服务提供商 。onRpcProvider 和 IpcProvider 允许连接到我们控制或可以访问的以太坊节点。
获取当前账户余额
获取最新区块号
其他RPC操作,可以通过 ON-RPC 查看。
通过 ethers. 可以连接ERC20的合约,合约编译后会生成ABI,合约部署后,会生成合约地址,开发者通过 ABI和合约地址 ,对合约发送消息。
合约中的方法大致分为两种: 视图方法(免费),非视图方法(消耗Gas) ,可以通过ABI查看方法类型。
?? ERC20需要多加关注的是 Approve() 方法以及 transfer() 和 transferFrom() 的区别 ,授权过的代币,被授权的那一方,可以通过调用 transferFrom() 方法,转走你授权数量内的代币,所以授权是一个很危险的操作,假设你授权了一个不良的合约,那你会面临授权的token被转走的风险,即使你没有泄露私钥助记词。
便利三方库: web3-react use-wallet
文档: doc.metamask.io ethers
开发钱包之前,我们需要有以下的预备知识。
第一,什么是钱包,以及相关的分类,xrv522可以开发区块链钱包。
本文站在开发者的角度,给读者讲解下怎么样和钱包进行交互,以及如何开发一个钱包。
我们怎么样理解钱包呢?简单讲它是连接区块链的一个入口。目前比较成熟的公链,如比特币、以太坊都有很多钱包可以选择。一般钱包需要完全访问你的用户资产,也就是会要求你输入私钥。钱包的作恶成本极低,这也是笔者建议选择开源钱包的原因之一。
![区块链dapp钱包开发[区块链dapp程序开发]插图 区块链dapp钱包开发[区块链dapp程序开发]](https://picossdata.oss-cn-shenzhen.aliyuncs.com/KeyDatas/2023/03/5591166940370998839.jpeg)
关于区块链dapp钱包开发和区块链dapp程序开发的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。