阅读 34

NEO插件钱包方案演示——安全与便捷的艺术统一

  • 是不是总是被GUI钱包的同步惹恼?
  • 是不是担心网页钱包会拿走你的私钥?
  • 是不是想开发Web Dapp又感觉实现钱包签名操作很无力、无奈?

没错!一个插件钱包就能解决以上所有问题。

插件钱包是什么?

  • 是一个能够不用同步就能立即使用的钱包。
  • 是一个完全受你掌控的钱包,除了你自己谁都不能偷走你的私钥。
  • 是一个能够和web页面通信的钱包,你可以只专注你自己的业务逻辑。

插件钱包的运行机制是什么?(以下以exe签名模式为例)

  1. 1. Web页面构造指定的元素(如id为listAddrOut的select用于接收当前钱包的地址组)
  2. 2. 插件前端contentscript.js注入web页面,在打开页面时请求插件钱包的background.js
  3. 3. 插件钱包的background.js向exe签名程序发送交易信息(如一个转账,一个合约调用)
  4. 4. exe签名程序获取交易信息,将信息展示给用户
  5. 5. 用户确认交易信息,在exe输入钱包密码,执行交易
  6. 6. exe返回txid到插件钱包的background.js
  7. 7. 插件钱包的background.js返回txid到web页面

插件钱包有几种签名模式?

  • 插件调用exe签名(如果你还不太相信插件,可以用这种)
  • 插件内js签名(如果你觉得装签名exe很麻烦,可以用这种)
  • Neodun等硬件钱包签名(如果你觉得PC对于黑客来说就是不带门的,可以用这种)
使用复杂度安全性
exe签名安装插件外还需要安装签名程序并向注册表写入一个键值
js签名仅安装插件
硬件钱包签名安装插件外还需要安装钱包驱动程序并向注册表写入一个键值极高

插件钱包如何保证我的安全?

  • NEP6钱包文件保存在插件内部。插件的页面是运行在本地浏览器内的,不与其他任何第三方的服务器相关联。
  • 每次交易都在用户确认交易信息后,用户输入钱包密码后才实际执行。
  • 所有交易的构造在钱包内部完成,防止签名请求方提供与实际交易不符的显示信息。
  • 所有处理代码都是用户端代码(本地浏览器内js、exe),能够篡改或窃取数据的只有用户本机

这仅仅是一个方案吗?

NO

Github
:https://github.com/NewEconoLab/NEL-BrowserPluginWallet

NEL插件钱包(技术预览<ChouLou>版)

PS
:这里的余额通过链上UTXO数据计算得到,不需要解密钱包

NNS域名转账与签名确认

返回TXID

查看这笔TX

转账成功

原文转自NEL新经济实验室:mp.weixin.qq.com/s/XUJUo5TH-…