Downloading node client binaries at runtime #1228
Conversation
Ready for review. Eth is still bundled as normal whilst I work out how best to fetch it on the fly. Gulp script simplified. |
Works flawlessly (tested on mac and linux) :) Could you also cleanup your shrinkwrap by running |
Thanks @luclu , shrinkwrap updated. Also removed some redundant deps. |
hmm, seems it didn't work as expected, could you repeat |
Tried again, after removing |
Weird, I pushed my |
Ok, made travis happy again while on it. |
Thanks @luclu With the frequent new releases of Geth that have been happening recently, this PR would really help in rolling out Geth updates for Mist users. |
Annoyingly am getting build errors again. I've done a fresh |
One problem with your config is that it downloads all files from peters cross builds. We should download the ones on the github release page from there and only take from peter what we don't get there. @hiddentao if the config file contains the links to the versions to download, how does the client updates the geth nodes automatically, or checks for new versions? Also how do we restrict updates to only patch versions, as minor amen major versions could contain backwards incompatible changes. EDIT i see we download the config from github master. Can we also include the links from the github release page and can you sth-client package download and unzip them as well? |
@frozeman The download links are arbitrary and can be set to whatever. As long as they link to Zips and Tarballs (i.e. no installers) it's fine. As you saw, it first checks for a config on the master branch. Thus, to update Geth we have to update the master branch config and then tell users to restart their Mist client. Nothing is automatic. |
Parity binaries available here: https://vanity-service.ethcore.io/parity-binaries |
@hiddentao no problem, I'm at your disposal ;)
|
# Conflicts: # modules/menuItems.js
Thanks @luclu ! |
Testing checklist
Silly tests
|
@hiddentao I've raised https://github.com/hiddentao/ethereum-client-binaries/pull/2 in order to make node updates more reliable. I'll keep testing. |
@evertonfraga Nice one. Only a minor change needed to that PR and it can be merged. |
Looks really good to me :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why can't we fetch binaries from the Github servers? e.g. links on https://github.com/ethereum/go-ethereum/releases/tag/v1.4.17
Fixed CI, ready to merge. |
This thread has been automatically locked because it has not had recent activity. Please open a new issue for related bugs and link to relevant comments in this thread. |
Instead of bundling client binaries at build time we will download then on startup at runtime. This will allow us to update client binaries for all Mist users without having to publish a new Mist release, and it will also reduce the size of Mist/wallet releases. And we will no longer track binaries in the repo (which we should never have done in the first place!). This makes use of ethereum-client-binaries to facilitate this.
ethereumBinaries.json
online in the master repo of Mist projectethereum-client-binaries
lib with the JSON config and scan for binaries (only Geth supported at the mo)