以太坊私钥创建钱包
Ⅰ Metamask手机端:手把手教你注册以太坊钱包
第一步:前面几个安全提示,向下滚动到最底部表示全部阅读,一步一步点击“接受”就行了
2.下面是创建一个8位数的密码,每次打开MetaMask可能都需要,如果忘记了密码,可以用助记词找回钱包
3.接下来是显示的助记词,可以直接点击“我已妥善保存”,最好还是保存一下,以备不时之需。这里也可以不保存,之后在设置里面,显示助记词,也能找到。
4.之后就进去了MetaMask钱包主页面
5.点击右上角小圆圈,点击创建账户,可以创建更多的账户地址(所有创建的地址都可以通过刚刚的12个助记词导入,比如你创建了10个地址,下次导入的时候初始显示1个地址,你在点击9次创建账户,之前的10个地址账户就完全不变的找回来了)
6.如果你在官方钱包,imtoken钱包,myetherwallet钱包已有账户可以导入,方法和创建钱包差不多
7.点击“发送”,输入你想转账的以太地址和数量,就可以转账了。(交易数据可以不填)
8.交易费限制,和气体价格可以设置一下(如果不在乎交易时间,气体价格可以设置低一些,如果想快速交易,气体价格设高一些,如果是发送代币或者部署合约,交易费限制建议填高一些以免交易气体gas不足),之后点击提交,就成功转账了。
9.成功发送交易后,会显示交易概况。
10.点击账户旁边的三个小点,点击“通过Etherscan查看账户"可以查看区块链浏览器的详情。
11、点击三个点,点击导出私钥,可以导出该地址私钥。
12、.点击右上角三条杠,点击设置,再点击助记词,可以查看你的助记词,助记词非常重要。
13.点击添加代币,可以添加其它基于以太坊的发币,输入缩写即可。
14.如果没有搜索到你需要的代币,可以通过合约地址自动添加,输入合约地址,代币符号,小数位精度即可添加。
Ⅱ 如何判断下载正版metamask手机端
通过官方通道下载则是正版。
第一步:使用Chrome桌面浏览器打开MetaMask插件钱包官网下载连接https://metamask.io/download.html第二步:点击InstallMetaMaskforChrome,即可下载插件钱包。将现有的以太坊钱包向MetaMask导入第一步:打开MetaMask钱包,选择导入钱包。第二步:输入钱包助记词和密码,点击导入即可导入钱包。第三步:在跳出的提升协议中点击“IAgree”或“NoThanks”均可,建议点击“IAgree”。3.创建新钱包地址并保存私钥第一步:打开MetaMask钱包,选择创建钱包。第二步:输入新密码,点击创建,即可创建新钱包。第三步:在跳出的提升协议中点击“IAgree”或“NoThanks”均可,建议点击“IAgree”。第四步:创建好MetaMask钱包后,请自行备份私钥。
安装成功后,第一次登陆使用MetaMask,需要设定一个密码,之后系统会自动为你分配12个助记词。请注意,这12个助记词非常重要!在保存助记词的页面,会有一个提示:“任何人知道你的助记词,都可以随时转走以太坊钱包内的全部资产。”这可不是危言耸听,所以,一定要保管好自己的助记词。确定这12个英文单词都记录好之后,你便可以看到在区块链上属于自己的地址了。设置好之后,选择“以太坊主网络”(默认网络)登录,即可使用MetaMask了。另外,MetaMask支持的通证为ETH,持有ETH即可使用MetaMask快速完成想要进行的交易,玩转绝大多数的DAPP了。
Ⅲ 以太坊钱包Mist多重签名
个人如果钱包中有几个以太币,保管好私钥,做几个备份也没有什么好担心的,但是要是像我这样手握成千上万个币,能不担心吗,哈哈哈。。。
一般大量持币的机构,都会使用多重签名机制来保证币的安全,所谓多重签名就是多于一个人同意交易才生效,为了弄清楚实际过程,来实操一下。
主账户需要多于1个ETH才能新建合约,至少需要3个账户才能完成多重签名钱包
OK,输入完密码后看到钱包正在创建,这里我们设置了发送任意的币都需要至少两个钱包账户同意
耐心等待一会即可看到多重签名钱包创建好了,创建好后也有一个地址,可以像正常转币一样将ETH从其他地址存到多重签名地址,这里我们存入100个,可以看到账户内现有100个ETH,每次转出需要至少2人同意
我们这里创建了多重签名账户的3个管理地址,那么其他的地址需要手动添加改地址到钱包,即可查看或操作此账户了。
选择从多重签名的钱包转出,会有提示,每日超过限额,需要其他一个账户确认
先按正常的流程走吧,输完发起账号的密码,交易历史中会看到区块确认中,当有确认的时候,发现所有多重签名账号的Mist中都多了一个提醒
PS:由于多重签名地址底层使用了以太坊的智能合约,所以每次发起(包括其他人批准)都需要消耗gas,也就是说需要保证管理账号中有足够的ETH才行。
Ⅳ 如何创建和签署以太坊交易
交易
区块链交易的行为遵循不同的规则集
由于公共区块链分布式和无需许可的性质,任何人都可以签署交易并将其广播到网络。
根据区块链的不同,交易者将被收取一定的交易费用,交易费用取决于用户的需求而不是交易中资产的价值。
区块链交易无需任何中央机构的验证。仅需使用与其区块链相对应的数字签名算法(DSA)使用私钥对其进行签名。
一旦一笔交易被签名,广播到网络中并被挖掘到网络中成功的区块中,就无法恢复交易。
以太坊交易的数据结构:交易0.1个ETH
{
'nonce':'0x00', // 十进制:0
'gasLimit': '0x5208', //十进制: 21000
'gasPrice': '0x3b9aca00', //十进制1,000,000,000
'to': '' ,//发送地址
'value': '0x16345785d8a0000',//100000000000000000 ,10^17
'data': '0x', // 空数据的十进制表示
'chainId': 1 // 区块链网络ID
}这些数据与交易内容无关,与交易的执行方式有关,这是由于在以太坊中发送交易中,您必须定义一些其他参数来告诉矿工如何处理您的交易。交易数据结构有2个属性设计"gas": "gasPrice","gasLimit"。
"gasPrice": 单位为Gwei, 为 1/1000个eth,表示交易费用
"gasLimit": 交易允许使用的最大gas费用。
这2个值通常由钱包提供商自动填写。
除此之外还需要指定在哪个以太坊网络上执行交易(chainId): 1表示以太坊主网。
在开发时,通常会在本地以及测试网络上进行测试,通过测试网络发放的测试ETH进行交易以避免经济损失。在测试完成后再进入主网交易。
另外,如果需要提交一些其它数据,可以用"data"和"nonce"作为事务的一部分附加。
A nonce(仅使用1次的数字)是以太坊网络用于跟踪交易的数值,有助于避免网络中的双重支出以及重放攻击。
- const ethers = require('ethers')
- const signer = new ethers.Wallet('钱包地址')
- signer.signTransaction({
- 'nonce':'0x00', // 十进制:0
- 'gasLimit': '0x5208', //十进制: 21000
- 'gasPrice': '0x3b9aca00', //十进制1,000,000,000
- 'to': '' ,//发送地址
- 'value': '0x16345785d8a0000',//100000000000000000 ,10^17
- 'data': '0x', // 空数据的十进制表示
- 'chainId': 1 // 区块链网络ID
- })
- .then(console.log)
以太坊交易结构
以太坊交易签名
以太坊交易会涉及ECDSA算法,以Javascript代码为例,使用流行的ethers.js来调用ECDSA算法进行交易签名。
可以使用在线使用程序Composer将已签名的交易传递到以太坊网络。这种做法被称为”离线签名“。离线签名对于诸如状态通道之类的应用程序特别有用,这些通道是跟踪两个帐户之间余额的智能合约,并且在提交已签名的交易后就可以转移资金。脱机签名也是去中心化交易所(DEXes)中的一种常见做法。
也可以使用在线钱包通过以太坊账户创建签名验证和广播。
使用Portis,您可以签署交易以与加油站网络(GSN)进行交互。
链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
Ⅳ 什么是以太坊(ETH),怎么创建以太坊钱包
以太坊是一个开源的有智能合约功能的公共区块链平台。截至2018年2月,以太币是市值第二高的加密货币,仅次于比特币。快速创建以太坊钱包的方法在天天领币上有哦,根据操作来很快就能完成,创建完成后还可以直接在网站里领取免费的虚拟币。
Ⅵ 怎么注册以太坊钱包
申请以太坊钱包官方网站。
搜索进入“以太坊钱包官网”,输入密码,然后单击生成钱包;下载并保存密钥文件;您可以选择其他熟悉的方式来访问您的钱包。
你的钱包完全生成好了,别人可以给你发送以太坊,或者你也可以给别人发送以太坊了。必须记住申请过程中遇到的一些密钥和密码,即使钱包丢失,也可以使用它来检测。
Ⅶ 如何批量创建生成ETH钱包地址助记词私钥
批量生成ETH钱包地址
1,打开连接工具地址: https://www.ztpay.org/tool.html
2,找到批量创建地址;如下图
4,填入想要生成的钱包数量;
5,然后点击“生成地址”;
生成钱包地址之后,根据自己需要进行选择即可。
Ⅷ 【ETH钱包开发03】web3j转账ETH
在之前的文章中,讲解了创建、导出、导入钱包。
【ETH钱包开发01】创建、导出钱包
【ETH钱包开发02】导入钱包
本文主要讲解以太坊转账相关的一些知识。交易分为ETH转账和ERC-20 Token转账,本篇先讲一下ETH转账。
1、解锁账户发起交易。钱包keyStore文件保存在geth节点上,用户发起交易需要解锁账户,适用于中心化的交易所。
2、钱包文件离线签名发起交易。钱包keyStore文件保存在本地,用户使用密码+keystore的方式做离线交易签名来发起交易,适用于dapp,比如钱包。
本文主要讲一下第二种方式,也就是钱包离线签名转账的方式。
交易流程
1、通过keystore加载转账所需的凭证Credentials
2、创建一笔交易RawTransaction
3、使用Credentials对象对交易签名
4、发起交易
注意以下几点:
1、Credentials
这里,我是通过获取私钥的方式来加载 Credentials
还有另外一种方式,通过密码+钱包文件keystore方式来加载 Credentials
2、nonce
nonce是指发起交易的账户下的交易笔数,每一个账户nonce都是从0开始,当nonce为0的交易处理完之后,才会处理nonce为1的交易,并依次加1的交易才会被处理。
可以通过 eth_gettransactioncount 获取nonce
3、gasPrice和gasLimit
交易手续费由gasPrice 和gasLimit来决定,实际花费的交易手续费是 gasUsed * gasPrice 。所有这两个值你可以自定义,也可以使用系统参数获取当前两个值
关于 gas ,你可以参考我之前的一篇文章。
以太坊(ETH)GAS详解
gasPrice和gasLimit影响的是转账的速度,如果gas过低,矿工会最后才打包你的交易。在app中,通常给定一个默认值,并且允许用户自己选择手续费。
如果不需要自定义的话,还有一种方式来获取。获取以太坊网络最新一笔交易的 gasPrice ,转账的话, gasLimit 一般设置为21000就可以了。
Web3j还提供另外一种简单的方式来转账以太币,这种方式的好处是不需要管理nonce,不需要设置gasPrice和gasLimit,会自动获取最新一笔交易的gasPrice,gasLimit 为21000(转账一般设置成这个值就够用了)。
这个问题,我想是很多朋友所关心的吧。但是到目前为止,我还没有看到有讲解这方面的博客。
之前问过一些朋友,他们说可以通过区块号、区块哈希来判断,也可以通过Receipt日志来判断。但是经过我的一番尝试,只有 BlockHash 是可行的,在web3j中根据 blocknumber 和 transactionReceipt 都会报空指针异常。
原因大致是这样的:在发起一笔交易之后,会返回 txHash ,然后我们可以根据这个 txHash 去查询这笔交易相关的信息。但是刚发起交易的时候,由于手续费问题或者以太网络拥堵问题,会导致你的这笔交易还没有被矿工打包进区块,因此一开始是查不到的,通常需要几十秒甚至更长的时间才能获取到结果。我目前的解决方案是轮询的去刷 BlockHash ,一开始的时候 BlockHash 的值为0x00000000000,等到打包成功的时候就不再是0了。
这里我使用的是rxjava的方式去轮询刷的,5s刷新一次。
正常情况下,几十秒内就可以获取到区块信息了。
区块确认数=当前区块高度-交易被打包时的区块高度。
Ⅸ 【ETH钱包开发02】导入钱包
本文主要讲解通过助记词、keystore、私钥 3种方式来导入钱包。导入钱包就是说根据输入的这3者中的一个去重新生成一个新的钱包。导入钱包的过程和创建的过程其实是差不多的。
根据助记词导入钱包不需要原始密码,密码可以重新设置。根据用户输入的助记词,先验证助记词的合规性(格式、个数等),验证正确后,配合用户输入的密码重新生成一个新的钱包。
验证助记词的合规性(格式、个数等)
助记词导入钱包
通过私钥导入钱包其实和创建钱包的过程基本一致。因为私钥在导出的时候转换成了16进制,所以在导入私钥的时候,要把16进制转换为byte数组。
keystore就是钱包文件,实际上就是钱包信息的json字符串。导入keystore是需要输入密码的,这个密码是你最后导出keystore时的密码。将keystore字符串变成walletFile实例再通过 Wallet.decrypt(password, walletFile); 解密,成功则可以导入,否则不能导入。
这是Web3j的API,程序走到这里经常OOM!
具体原因的话,我就不多说了,细节大家可以看这里
https://www.jianshu.com/p/41d4a38754a3
解决办法
根据源码修改 decrypt 方法,这里我用一个已经修改好的第三方库
修改后的解密方法
导入Kestore
1、导入助记词和私钥是不需要以前的密码的,而是重新输入新的密码;导入Keystore则需要以前的密码,如果密码不正确,会提示地址和私钥不匹配。
2、关于备份助记词
用过imtoken的同学可以看到imtoken是可以导出(备份)助记词的。这个一开始我也很困惑,后来了解到其实它实在创建钱包的时候,在app本地保存了助记词,导出只是讲数据读取出来而已。还有一点,imtoken一旦备份了助记词之后,之后就没有备份那个功能了,也就是说助记词在本地存储中删除了;而且导入钱包的时候也是没有备份助记词这个功能的。