eth
宁坡浪子
区块链从入门到放弃
展开
-
关于go使用tx.AsMessage读取交易信息返回 错误 transaction type not supported 及from地址为0x0的解决方法
//原代码asMessage, e := tx.AsMessage(types.NewEIP155Signer(big.NewInt(int64(1))), tx.GasPrice())if e == nil { log.Println(asMessage.From().String())}log.Println(e)//改成如下asMessage, e := tx.AsMessage(types.LatestSignerForChainID(big.NewInt(int64(1..原创 2021-12-29 21:39:11 · 1872 阅读 · 2 评论 -
关于abigen编译sol文件生成go报错
Fatal: Failed to generate ABI binding: duplicated identifier "XX_X"(normalized "XXX"), use --alias for renaming遇到这种情况一般是合约里的函数名出现_符号。而在abigen在解析abi文件生成.go文件的时候会要求去掉"_"这个符号.我们这时可以使用重命名的方式来执行编译abigen --abi XXX.abi --pkg XXX --out XXX.go --alias XX_X =..原创 2021-11-08 14:02:34 · 1640 阅读 · 0 评论 -
关于remix ide 测试地址的私钥
前段时间因为偶然原因。在百度上粘贴了remix ide 自带的测试地址。发现百度上居然能搜得到。后来我直接把地址放到以太坊浏览器上,发现地址居然有人在用并且有代币。我当时想的想法是,既然remix生成了地址。并且能签名交易,那就说明remix上肯定有私钥存在。既然有私钥那我能不能从这上面获取到地址对应的私钥。其中我尝试了使用remix构造一个代币转账交易的签名来尝试转账链上的一个erc代币。以及尝试导出私钥。最后我发现,其实remix ide的地址和对应的私钥是预先写死在remix源码里的。如果你到gith原创 2021-03-15 16:10:56 · 1291 阅读 · 1 评论 -
eth解析交易事件 go代码实例
package mainimport ( "context" "fmt" "github.com/ethereum/go-ethereum" "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/ethclient.原创 2021-01-19 18:23:51 · 2763 阅读 · 5 评论 -
使用go生成以太坊私钥并获取其地址查询余额
最近突然有个想法,就是能不能用计算机随机生成的以太坊私钥来进行碰撞,要是运气好的话就可以得到拥有余额的以太坊地址的私钥.虽然几率很小.不过还是可以试试大致思路是这样1.先随机生成私钥,然后通过私钥生成公钥,在生成地址.2.把生成的地址通过api请求https://infura.io服务商,获取对应余额,如果大于0则在本地保存当前地址及对应的私钥及余额.写入本地文件废话不多,直接上代码,package mainimport ( "fmt" "github.com/ethereum原创 2020-05-21 16:55:44 · 6684 阅读 · 32 评论 -
解密以太坊的keystore文件
以太坊的keystore文件是用来储存账户的私钥的,一个地址对应着一个keystore文件.当你调用以太坊函数进行签名交易的时候需要用到密码,这时候以太坊会读取keystore文件下的数据,并且使用你的密码进行一系列操作,最后还原出私钥,并且用这个私钥对你的交易进行签名.在keystore中你的私钥并不是以明文形式存放的,而是经过加密,这就是为什么你在签名交易的时候需要输入密码的原因.{ "address": "26ce833a705af6846da8c1a43d1e418b934581..原创 2020-05-20 15:17:07 · 3783 阅读 · 0 评论 -
使用go代码识别合约账户及外部账户
package mainimport ( "fmt" "github.com/ethereum/go-ethereum/rpc" "strconv")var getCode stringfunc main(){ //进入https://infura.io/申请免费公网节点,然后填入下面 client,err:=rpc.Dial("https://mainnet...原创 2019-10-12 14:41:54 · 605 阅读 · 0 评论 -
通过ECDSA签名获取以太坊上其他账户私钥的思路
前段时间看了一篇文章`利用随机数冲突的ECDSA签名恢复以太坊私钥`讲的是同一交易发送者和接收者的两笔交易的随机数K相同的时候,可以推断出交易发送者的私钥。我想着能不能通过遍历整个以太坊上面所有交易的签名信息里的R值来找出满足上述条件的两笔或者多笔交易。思路是:从第0个区块开始到最新的区块读取每个区块里面的交易里面的R值,然后储存到数据库里。然后通过查看数据库的工具来轻易的找到两个r为...原创 2019-10-18 13:25:12 · 1308 阅读 · 0 评论 -
go调用以太坊rpc发送交易中的DATA参数数据解析
pragma solidity ^0.5.0;contract Data { struct Equipment{ string timestamp; string dev_id; string dev_type; string name; string cmd; string data;...原创 2019-09-16 16:37:58 · 2423 阅读 · 0 评论 -
使用go来连接基于go-ethereum的quorum联盟链
安装准备其中npm环境我在另一篇文章写过https://blog.csdn.net/weixin_42608885/article/details/93340253solidity编辑器golang版本越新越好solcjsnpmsolidity编辑器安装https://blog.csdn.net/weixin_42608885/article/details/9...原创 2019-07-11 17:11:20 · 1446 阅读 · 0 评论 -
ubuntu安装geth最简单方法
网上找了一堆,各种命令各种环境变量,麻烦的很。而且各种报错,所幸找了个可用的又简单的方法分享给大家sudo add-apt-repository -y ppa:ethereum/ethereumsudo apt-get updatesudo apt-get install ethereum安装完毕直接 命令行 geth就可以运行了...原创 2019-07-11 13:54:58 · 2177 阅读 · 0 评论