`

eth hd钱包

 
阅读更多
熵(128位)→助记词(12个)→种子(512位)→私钥→公钥→地址

import (
	"fmt"
	"math/big"
	"strings"
	"testing"

	"github.com/ethereum/go-ethereum/common"
	"github.com/ethereum/go-ethereum/core/types"
)

//go test -run TestAddrs
func TestAddrs(t *testing.T) {
	mnemonic, err := MnemonicFun()
	if err != nil {
		t.Error(err)
	}

	fmt.Println("mnemonic:",*mnemonic)
	//"there network sister salad scout catch embrace clinic hold jewel kingdom atom"
	wallet, err := NewFromMnemonic(*mnemonic)
	if err != nil {
		t.Error(err)
	}

	for i:=0;i<3;i++{
		path, err := ParseDerivationPath(fmt.Sprintf("m/44'/60'/0'/0/%d",i))
		if err != nil {
			t.Error(err)
		}

		account, err := wallet.Derive(path, true)
		if err != nil {
			t.Error(err)
		}

		fmt.Println("address:",account.Address.String(),",count:",len(wallet.accounts))

		privateKeyHex, err := wallet.PrivateKeyHex(account)
		if err != nil {
			t.Error(err)
		}

		fmt.Println("privatekey:",privateKeyHex)
	}

	for i:=0;i<3;i++{
		seed, err := NewSeedFromMnemonic(*mnemonic)
		if err != nil {
			t.Error(err)
		}

		wallet, err = NewFromSeed(seed)
		if err != nil {
			t.Error(err)
		}

		path := MustParseDerivationPath(fmt.Sprintf("m/44'/60'/0'/0/%d",i))
		account, err := wallet.Derive(path, false)
		if err != nil {
			t.Error(err)
		}
		wallet.PrivateKey(account)
		fmt.Println("addr:",account.Address.String())
	}
}
分享到:
评论

相关推荐

    eth助记词找回钱包易语言离线版本js

    eth助记词找回钱包易语言离线版本js

    xunibidev#CoinExchange#搭建ETH钱包1

    Ubuntu 16.04 搭建ETH钱包磁盘挂载(如有必要)安装以太坊sudo apt-get install ethereum创建目录启动链条创建启动脚本。

    ETH系列串口服务器配置软件(ETH001(含C/E),ETH002,ETH005)

    ETH系列串口服务器配置软件,含ETH001,ETH001-C,ETH001-E,ETH002,ETH005

    metamask 6.2.2 最新版, chrome浏览器插件, 区块链以太坊eth钱包

    metamask 6.2.2 最新版, chrome浏览器插件, 区块链以太坊eth钱包

    ETH2232X ETH001快速使用指导手册

    ### ETH2232X ETH001 快速使用指导手册详解 #### 一、启动及供电注意事项 - **不同型号供电需求**:ETH2232系列包含多个型号,其中ETH2232D的工作电压为3.3V,而ETH2232AT-5V则为5V供电。另外,ETH001系列同样提供...

    ETH、BSC、HECO钱包充提、归集对接Java、Springboot源码下载

    完整Java、Springboot对接钱包,ETH、BSC、HECO钱包充提、归集

    修改eth1网卡

    在Linux系统中,修改网络接口名称(如eth1)是一项常见的网络管理任务,尤其是在服务器配置或网络环境调整时。本文将深入探讨如何在Linux环境下安全、有效地修改eth1网卡名称,包括理解其背后的原理、操作步骤以及...

    linux eth0问题(复制虚拟机后eth0变成eth1或其他)

    当克隆或者重装虚拟机后,再启动系统时会发现系统下不再有eth0,而变成了eth1,每次拷贝都会加1.此文档是怎么修改成eth0

    ETH3D双目数据集

    ETH3D双目数据集是计算机视觉领域一个重要的资源,主要针对三维重建和立体匹配任务。这个数据集是由ETH Zurich的研究团队创建的,旨在推动深度估计、立体匹配和三维几何理解的技术发展。在这个数据集中,包含了双目...

    ETH.zip_STM32F407 网络_STM32F407网络_eth单片机_stm32f407_单片机 ETH功能

    在本文中,我们将深入探讨如何使用STM32F407微控制器实现网络功能,特别是以太网(ETH)通信。STM32F407是意法半导体(STMicroelectronics)推出的一款高性能ARM Cortex-M4内核的微控制器,广泛应用于嵌入式系统设计...

    centOS下ifconfig找不到eth0解决方案

    CentOS下ifconfig找不到eth0解决方案 在CentOS系统中,如果使用ifconfig命令却找不到eth0网络接口,这可能会引起很多问题,如无法联网、无法设置IP地址等。今天,我们来解决这个问题。 原因分析 在CentOS系统中,...

    AURIX_ETH说明文档1

    《AURIX_ETH模块配置与程序详解》 本文将详细阐述Infineon的AURIX TC297微控制器在以太网(ETH)模块上的配置及其相关软件操作。AURIX系列微控制器以其高性能和丰富的功能集在工业应用中广泛应用,其中ETH模块提供...

    华为S系列交换机Eth-Trunk特性入门_V1.0_D

    华为S系列交换机的Eth-Trunk特性入门文档主要介绍Eth-Trunk在华为交换机中的应用。Eth-Trunk技术是一种将多条物理链路捆绑为一条逻辑链路的聚合技术,可以提高链路的带宽、增加网络的可靠性。 ### Eth-Trunk的基本...

    linux下eth0不可用时问题

    ### Linux 下 eth0 不可用问题解析与解决方案 #### 背景介绍 在 Linux 系统中,网络接口通常被命名为 eth0、eth1 等。这些名称是由 udev 管理的,它是一个负责设备管理和配置的系统服务。当用户遇到“udev:renamed ...

    ETH_MPI3_SETUP驱动软件.rar

    ETH_MPI3_SETUP驱动软件是专为以太网(MPI3)接口设计的一款重要驱动程序,它主要用于确保计算机系统能够正确识别并高效通信与基于MPI3协议的硬件设备。这些硬件设备通常包括工业控制器、数据采集卡或其他需要通过...

    eth-huobipool.bat

    eth-huobipool.bat

    STM32F4x7_ETH_LwIP_V1.1.1_LwIP_stm32_eth_well2s1_STM32F4x7_ETH_L

    STM32F4x7_ETH_LwIP_V1.1.1_LwIP_stm32_eth_well2s1_STM32F4x7_ETH_L是一个针对STM32F4x7系列微控制器的以太网(LWIP)驱动程序的实例,主要包含了基于LwIP协议栈的网络通信功能。STM32F4x7是意法半导体...

    eth_tst_t2.rar

    标题中的"eth_tst_t2.rar"表明这是一个与以太网相关的测试项目,可能是某个开发阶段的代码存档。描述中提到"ETH_RGMII 8035 源码",这揭示了该压缩包包含的是针对以太网接口RGMII(Reduced Gigabit Media ...

Global site tag (gtag.js) - Google Analytics