go-ethereum/internal/jsre/deps/web3.js
1.进入go-ethereum/internal/jsre/deps目录,执行go build和go generate
如果有下面的错误:
admin07@admin-MS:~/job/gopath/src/github.com/ethereum/go-ethereum/internal/jsre/deps$ go generate
deps.go:20: running "go-bindata": exec: "go-bindata": executable file not found in $PATH
安装go-bindata:
admin07@admin-MS:~/job/gopath/src/github.com/ethereum/go-ethereum/internal/jsre/deps$ sudo apt install go-bindata
[sudo] admin07 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列【新】软件包将被安装:
go-bindata
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 101 个软件包未被升级。
需要下载 556 kB 的归档。
解压缩后会消耗 1,810 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu bionic/universe amd64 go-bindata amd64 3.0.7+git20151023.72.a0ff256-3 [556 kB]
已下载 556 kB,耗时 7秒 (80.9 kB/s)
正在选中未选择的软件包 go-bindata。
(正在读取数据库 ... 系统当前共安装有 215447 个文件和目录。)
正准备解包 .../go-bindata_3.0.7+git20151023.72.a0ff256-3_amd64.deb ...
正在解包 go-bindata (3.0.7+git20151023.72.a0ff256-3) ...
正在处理用于 man-db (2.8.3-2) 的触发器 ...
正在设置 go-bindata (3.0.7+git20151023.72.a0ff256-3) ...
2.重新编译geth
原因:在go-ethereum/console/console.go里面访问的jsre.Web3_JS为go-ethereum/internal/jsre/deps/bindata.go的_web3Js,已经设置好了值,不是动态编译web3.js文件的。