首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

创建数字钱包(二)HD Wallet

BIP32解释 定义 BIP32定义了Hierarchical deterministic wallets (HD Wallets),HD指出了这类钱包的两大特征。...第一点特征是层级结构,钱包一般会存储一组key-pair对,这组key-pair对是链状存储,但是HD钱包是树状存储,也就是说它的结构中有根节点,根节点会派生出子节点,子节点又可以派生出子节点。...第二点特征是确定性,因为所有的key-pair对都是从同一个根派生出来的,所以只要妥善保管好根(主密钥)就可以在其它的系统中快速地恢复钱包。 层级结构和确定性如下图示: ?...代码解释 这里,我们使用hdkey[1]进行代码解释。...BIP44综合了BIP32的HD Wallet设计和BIP43[3]的Purpose约定,使得HD Wallet能够表达多币种,多账号,账号的外部或内部key-pair对构成的组,外部指的是地址对外可见

2.1K40

以太坊钱包Ethereum Wallet C盘数据转移

交易数据存储存在的问题 使用过Ethereum Wallet的朋友都会发现,当我们安装好并启动此钱包时,钱包会自动同步区块链上的数据到本地,那么它默认同步到了什么位置呢?...解决方案 首先,Wallet并没有提供相应的解决配置功能,只能通过操作系统的命令来完成此操作。 建立硬链接 启动Windows 命令操作,输入cmd。...使用如下命令: mklink /j C:\Users\Administrator\AppData\Roaming\Ethereum E:\Ethereum 上面的路径可根据本机具体路径进行修改; 其中...操作过程中的问题 通过Win+R启动命令行操作时由于权限不足导致无法操作,可选择在菜单中找到对应的命令操作,通过使用管理员权限来进行操作。 后语 如有问题可以留言或私下联系。

1.8K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Binance收购移动钱包Trust Wallet 为用户资产安全保驾护航

    这不,今日从各方外媒报道看到,币安首次公开的收购业务,Binance收购移动钱包「Trust Wallet」这款号称是以太坊上最快的钱包,支持以太、ERC 20、ERC 223和ERC 721代币,它是一款集安全...、开源、匿名于一体的移动钱包应用,可以存储超过20,000种不同的基于ERC20的代币;并且在今年5月Trust Wallet曾获得以太坊基金会的奖金。...币安CEO赵长鹏与Trust Wallet钱包创始人Viktor Radchenko 这款钱包可不简单,当初第一款全球现象级的区块链Dapp游戏CryptoKitties,最贵的加密猫就是储存在Trust...关于这款Trust Wallet移动钱包,自2017年11月推出以来,Trust Wallet就以其安全性获得了大量用户的拥戴称赞。...一款安全、好用的钱包是推动数字货币走向大众的关键。在这方面,Trust Wallet是我发现最好用的钱包。”可见CZ注重用户资产安全问题还真不是说说而已。

    1K20

    加密钱包再爆严重漏洞,看我怎么“榨干”你的钱包

    SaleemRashid 是一名来自英国的十五岁少年,而这位年少有为的同学成功地在Ledger公司所生产的加密货币硬件钱包Ledger Nano S中发现了一个严重的安全漏洞。...硬件钱包允许用户在计算机设备上通过USB端口来完成加密货币的交易活动,但是它们并不会跟主机设备共享钱包私钥,因此恶意软件就无法获取硬件钱包的密钥了。...但是Saleem Rashid却发现,当Ledger Nano S硬件钱包跟目标设备完成物理连接之后,他竟然可以获取到Ledger设备中的私钥。...Ledger硬件钱包 在对Ledger的硬件设备进行分析时,Saleem Rashid发现这些设备中包含一个安全处理器芯片以及一个不安全的微型控制器芯片。...更可怕的是,由于Ledger使用的是自定义架构来实现其各种安全元素,因此攻击者就可以在用户收到设备之前,利用该漏洞入侵这台设备,或者直接在其他场景下窃取设备私钥。

    70940

    以太坊钱包开发系列1 - 创建钱包账号

    以太坊去中心化网页钱包开发系列,详细的视频课程讲解直接戳链接,本系列将从零开始开发出一个可以实际使用钱包,本系列是理论与实战相结合,文章一共有四篇:创建钱包账号、账号Keystore文件导入导出、展示钱包信息及发起签名交易...、发送Token(代币),这是第一篇,主要介绍钱包将实现哪些功能及怎么创建钱包账号,本钱包是基于ethers.js 进行开发。...使用随机数作为私钥创建钱包账号 即方式一,可以使用ethers.utils.randomBytes生成一个随机数,然后使用这个随机数来创建钱包,如代码: var privateKey = ethers.utils.randomBytes...(32); var wallet = new ethers.Wallet(privateKey); console.log("账号地址: " + wallet.address); 上面代码的 wallet...var wallet = ethers.Wallet.fromMnemonic(inputPhrase.val(), inputPath.val()); }); 同样用户可以提供一个其保存的助记词来导入其钱包

    2.3K30

    Mac环境下Ethereum wallet连接geth

    钱包客户端与geth相结合 在Windows环境下,本机启动geth节点之后,再启动Ethereum wallet钱包,Ethereum wallet钱包设置为私有网络链接,Ethereum wallet...这样,我们既可以通过geth的console控制台进行命令操作,也可以通过Ethereum wallet客户端的图形界面很好的查看钱包的整体情况。...比如可以通过Ethereum wallet很方便的发起交易和发布智能合约。 然而,在mac环境下启动Ethereum wallet钱包并不会直接连接上geth客户端的节点。...钱包启动的时候也启动了一个geth节点,由于本人在Ethereum wallet启动的控制界面设置了solo网络,因此Ethereum wallet启动的时候默认添加了参数dev。...回归正题,很显然现在的情况两个程序运行了两个geth,它们之间没有太多关联,除了端口冲突等问题,那么我们具体怎么解决这个问题呢。 这又涉及到另外一个知识点。

    58530

    学会使用钱包

    其次, 我们需要深刻的认识一个问题, 既然钱包不存储确切的某一种代币, 而是存储密钥, 那么使用这种去中心化钱包, 资产到底存储在哪里?...紧急事件处理: 一旦发现自己钱包出现不是自己操作的转出交易, 或者意识到自己的私钥已经泄露, 那么立即停止使用钱包 (不要再向该钱包转账), 新建钱包 (当然要做好新钱包的备份) 然后立即将资产转移至新钱包...去中心化钱包交易时不存在 "入账", "取消交易", "冻结账户"等说法的, 多人都觉得使用 钱包 发送交易, 那么交易信息理应由 钱包客服人员查询, 其实不尽然。...我们使用 Etherscan 自己就可以查询每笔交易的详细信息 矿工费:矿工费其实是非常好理解的, 首先明确我们使用钱包发送交易, 矿工费是谁来收的?...还有矿工费到底是怎么计算的, 公式: Gas fee = gas * gas price, gas price 的单位是 gwei, 4 gwei 相当于 0.000000004 ETH ,我们可以去

    77420

    【许晓笛】EOS 上线前,先搞懂这两个基本概念

    如果你曾经尝试在本地运行 EOS 测试节点,会发现编译、运行并不是特别复杂,但官方教程里两个概念很容易把人搞晕: Account(账户) 和 Wallet钱包)。...这里就是大家的一个误区,其他项目的 Wallet 也没有存你的代币,你的代币是存在整个区块链网络里的,只是区块链网络里的代币可以由你钱包里的密钥支配,给你了“钱包存代币”的错觉。...对,应该说不直接由密钥支配,先别急,先把 Wallet 说完。 Wallet = 本地存密钥,怎么存呢?...ACCOUNT Wallet 说完了,前面说 EOS 的代币不直接由密钥(或者钱包)支配,那由什么支配呢?答案就是 Account。...可以直接公布此公钥的对应私钥,这是模拟网友使用对应私钥投稿,编辑审核的情况。 配合可以增加的权限种类,可修改的阈值和权重,EOS 的 Account 权限可以有无限种玩法。

    55460

    编程小白模拟简易比特币系统,手把手带你写一波!(附代码) | 博文精选

    作者 | VV一笑ヽ 责编 | Carol 出品 | 区块链大本营(blockchain_camp) 封面 | CSDN 付费下载于视觉中国 如果有一个 p2p 的 demo,我们要怎么才能应用到区块链当中...A首先创建一个创世区块 创建钱包A1。调用节点A提供的API创建一个钱包,此时A1的球球币为0。 A1挖矿。调用节点A提供的挖矿API,生成新的区块,同时为A1的钱包有了系统奖励的球球币。...创建钱包B1、A2,调用节点A和B的API,要广播(通知每一个节点)出去创建的钱包(公钥),目前节点只有两个,因此A需要告诉B,A2的钱包。B需要告诉A,B1的钱包。 A1转账给B1。...*/ private final static int RESPONSE_WALLET = 8; 由于代码太多,就不全部粘在这里了,以client同步其他节点钱包信息为例,结合上面的p2p网络交互的三个步骤...(walletService.getWalletAddress(wallet.getPublicKey()),wallet ); }); } 在具体实现中,由于使用到了注入服务的方式,在向server

    74700

    imtoken钱包使用教程

    为了方便大家使用imtoken钱包,在这里将imtoken钱包使用教程详细的给大家展示出来。钱包使用很简单,但是需要大家多熟悉。...因为钱包的特殊性,处于安全考虑,imtoken不会存储密码,也无法找回!这个密码也只有你自己知道,一定要好好牢记! 4、钱包备份 钱包备份,可以说是使用数字资产安全中最最重要的一个环节。...5、使用钱包 按照以上的操作全部设置好后,您就拥有了自己的ImToken钱包。...输入合约地址: 0x1980f5940e60a456833b80ac1aeba03f2ed88ea6 输入地址之后即可查到CMCL,点击添加 7、如何将CMCL转链到交易平台或者他人钱包 转链可以使用输入钱包地址和扫描钱包地址二维码两种方式...发起转账就是输入接收人的收款地址,下方输入转账金额(转账CMCL的数量),备注选填,矿工费用可以自行设置,给的矿工费用越高,转账速度越快,一般使用默认转账费用,到账速度10分钟左右,千万不要拉到最低

    5.3K310

    开发以太坊安卓钱包系列3 - 资产信息展示

    后来Google 推荐多个架构模式: MPV、 MVVM模式来解决数据和UI耦合的问题,登链钱包代码[1],使用的就是MVVM模式,所以对它做一个简单介绍,下面是MVVM的视图和数据的交互图: ?...这个界面应的是登链钱包[2]的PropertyFragment,上图的UPT 是我自己发行的Token,所以没有显示价格 现在我们来思考一下, 怎么来展现上面的数据, 别着急往下看, 可以先想想。...注解: 登链钱包[4] 里大量使用的这个方式,通过一个LiveData 做数据桥接。...Upchain-wallet [2] 登链钱包: https://github.com/xilibi2003/Upchain-wallet [3] 代码: https://github.com/xilibi2003.../Upchain-wallet [4] 登链钱包: https://github.com/xilibi2003/Upchain-wallet [5] 导入账号及账号管理: https://learnblockchain.cn

    1.3K30

    比特币冷钱包到底应该怎么

    创建冷钱包 第一步, 找一台新电脑或硬盘低级格式化后的旧电脑,在断网的状态下安装Linux操作系统Ubuntu(下图是使用U盘安装ubuntu的示例): 第二步, 安装Electrum...比特币钱包。...安装完Ubuntu Linux操作系统后, 离线安装Electrum比特币钱包(笔者个人比较喜欢Electrum, 各位也可以使用Multibit等其他轻钱包), 安装的步骤请参照Electrum官网...有人也许会说, “好复杂”, 但是,首先在比特币的世界里安全性比便利性更重要, 其次,冷钱包本来就不应该经常有交易的, 经常交易的钱包就不是冷钱包了, 象比特儿的所谓“冷钱包”有着上千次的交易记录实在是不能够称之为冷钱包了...比特儿的认错赔偿的态度很好, 但是在技术安全上没有改进, 在制度安全上没有保障, 我们怎么能相信没有下一次呢?

    2.1K30

    EOS怎样删除钱包

    使用Eos的keosd钱包软件时,如果要删除EOS中指定名称的钱包,最简单的办法是 直接删除钱包文件,不过在删除钱包之前,需要先停止钱包软件的运行。...EOS删除钱包之前,首先使用kill或pkill命令结束keosd进程的运行: ~$ pkill keosd 钱包文件保存在keosd的数据目录中,默认是~/eosio-wallet。...例如,对于默认钱包default,对应的钱包文件为~/eosio-wallet/default.wallet。...可以先使用ls命令查看数据目录的内容: ~$ ls ~/eosio-wallet 直接删除钱包对应的文件即可。...例如删除默认钱包: ~$ rm ~/eosio-wallet/default.wallet 如果你启动keosd时使用-d选项设置了不同的数据目录,例如设置为/my-wallet,那么在删除钱包时,应当使用这个自定义目录

    1.1K40

    以太坊钱包开发系列2 - 账号Keystore文件导入导出

    以太坊去中心化网页钱包开发系列,点链接观看视频课程,将从零开始开发出一个可以实际使用钱包,本系列文章是理论与实战相结合,一共有四篇:创建钱包账号、账号Keystore文件导入导出、展示钱包信息及发起签名交易...在上一篇文章,介绍了如何使用私钥及助记词来创建账号,如果是使用已有的私钥及助记词,这其实也是账号导入的过程。 有一些同学会问,我的账号是Geth生成的,如何导入到钱包呢?...Keystore文件 好了,我们现在结合具体 Keystore文件的内容,就很容易理解了Keystore 文件怎么产生的了。...// wallet }); // 使用钱包对象 导出keystore Json wallet.encrypt(pwd, [progressCallback].then(function...是上一篇文章中生成的钱包对象 wallet.encrypt(pwd.val()).then(function(json) { var blob = new Blob([json],

    2.5K22

    迪米特法则与重构

    “把钱包交出来!”收银员算出顾客要买的商品总价后,“温柔”地对顾客说道。 顾客言听计从,赶紧将钱包掏出来,恭恭敬敬地递给收银员。 接过钱包,收银员毫不客气地打开,检查里面的钱够不够。噢,不错,钱够了。...收银员从钱包取出钱,心满意足地笑了。 如果你是顾客,你敢去这样的超市shopping吗?...若从拟人化的角度思考,则Wallet其实属于Customer的隐私。如此重要的隐私,怎么能直接交给收银员这个陌生人呢?...对于收银员角色,他的职责应该是负责收钱,而不用去管钱包里的钱够不够,如果够了怎么办,如果不够又该怎么办,这些统统都不属于他的职责。...在前面的例子中,Wallet是Customer的字段,那么操作Wallet的行为自然就应该分配给Customer了。这是题中应有之义。

    50060

    钱包与账户概览

    原文在这里[1] 简介 Web3.js Wallet是我们在想要直接使用私钥进行任何区块链操作(交易)时的主要入口点,在其它库中也被称为Signer。...我们可以通过不同的方式签署和发送交易: •本地钱包[3](强烈推荐)•节点钱包[4](已弃用) 对于它们中的每一个,我们都可以使用Web3PromiEvent[5]来捕捉额外的交易事件。.../* 创建新的钱包 */ //create a wallet with `1` random account const wallet = web3.eth.accounts.wallet.create...下面罗列出web3.th.accounts.wallet包中提供的Wallet方法[8]: •add[9]:使用私钥或者账户对象添加一个账户到钱包中。...•clear[10]:安全地清空钱包并移除其中的所有账户。谨慎使用,因为该操作会删除本地钱包中的所有账户。•create[11]:在钱包中生成一个或多个账户。如果钱包已存在,它们并不会被覆盖。

    15810

    对接比特币钱包的PHP开发包

    本地钱包初始化 demo/wallet-demo.php钱包载入、裸交易构造和广播...使用说明 BtcTool的入口是Wallet类,基本的使用步骤如下: 创建一个Wallet实例 将私钥加入该Wallet实例 使用Wallet实例的**sendTx()**方法获取编码后的裸交易 使用Wallet...toAddr,$amount); //构造裸交易,返回16进制字符串 $ret = $wallet->broadcast($rawtx); //广播裸交易 注意: Wallet实例利用钱包中的私钥生成地址列表...因此需要钱包中的私钥对应地址在链上有utxo存在,Wallet对象才能够成功构造裸交易。...类 管理私钥、地址和脚本,同时提供构造和广播裸交易的方法 主要方法: ::load(): 静态方法,利用硬盘的钱包文件构造Wallet对象 addKey():添加私钥 save():将Wallet对象保存到钱包文件

    1.2K30
    领券