smartcontractkit / chainlink-ruby

Easily connect your applications to blockchains
https://chainlink-docs.smartcontract.com
MIT License
159 stars 32 forks source link

Compatibility problem with Ubuntu 16.04 and 14.04 #5

Open sgarciafer opened 6 years ago

sgarciafer commented 6 years ago

One of the required gems is digest-sha3, but the installation gives an error and stop the process. This is a known issue with digest-sha3 on Ubuntu as explained on this post.

Would it be possible to use sha3 instead of digest-sha3 which doesn't produce that error or specify the compatible (tested) distributions and versions ?

https://github.com/EthWorks/ethereum.rb/issues/11

se3000 commented 6 years ago

Looks like a problem with the underlying ruby-eth gem, so I think the change would be more appropriate there as there isn't any good ruby alternative to that gem and digest-sha3 comes with it.

I'll look into what it would take to switch and get back to you shortly.

mobeale commented 6 years ago

Steve,

This may also be of interest regarding the latest Ruby version incompatibility as I was hitting it when running the Foreman start (Not familiar with ruby so needed to install RVM and downgrade the version, which subsequently required the latest OSX version)

https://stackoverflow.com/questions/41504106/ruby-2-4-and-rails-4-stack-level-too-deep-systemstackerror

On 12 Oct 2017, at 19:47, Steve Ellis notifications@github.com wrote:

Looks like a problem with the underlying ruby-eth https://github.com/se3000/ruby-eth gem, so I think the change would be more appropriate there as there isn't any good ruby alternative to that gem and digest-sha3 comes with it.

I'll look into what it would take to switch and get back to you shortly.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/smartcontractkit/chainlink/issues/5#issuecomment-336230583, or mute the thread https://github.com/notifications/unsubscribe-auth/AHfqB8trchg2CRwrf_4S2wrZy1VxQc2nks5srl7XgaJpZM4Pv6Ib.

se3000 commented 6 years ago

@mobeale the current implementation is locked to 2.3.1, but it should be ok to run against 2.3.* and back to 2.0.0.

As noted in the SO question, there are a couple big changes in upgrading to 2.4 which we have to iron out before we can be compatible with the newest ruby.

mobeale commented 6 years ago

Not a problem, got something running now. I changed the gem file to latest version as I was having issues downgrading which have me the SO error, took me a while to realise it was the updated that Ruby version giving me shit.

Thanks again

If you need any volunteering for testing nodes/proofreading guides etc, please feel free to reach out, I am a developer myself (albeit ruby is not my language) and am very keen to get a head start on the node setup process

Mat

On 12 Oct 2017, at 20:26, Steve Ellis notifications@github.com wrote:

@mobeale https://github.com/mobeale the current implementation is locked to 2.3.1 https://github.com/smartcontractkit/chainlink/blob/master/.ruby-version, but it should be ok to run against 2.3.* and back to 2.0.0.

As noted in the SO question, there are a couple big changes in upgrading to 2.4 which we have to iron out before we can be compatible with the newest ruby.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/smartcontractkit/chainlink/issues/5#issuecomment-336240693, or mute the thread https://github.com/notifications/unsubscribe-auth/AHfqB-0Dt8FhLTW8qlYAIuItvOuFXEiJks5srmfogaJpZM4Pv6Ib.

se3000 commented 6 years ago

Unfortunately the sha3 gem is not a simple drop in to replace for digest-sha3. Specifically, sha3 is FIPS-202 compliant, but Ethereum uses a non FIPS-202 compliant version, which digest-sha3 also uses.

You can read more about the differences here: https://ethereum.stackexchange.com/questions/550/which-cryptographic-hash-function-does-ethereum-use but pretty much Ethereum chose their version before the SHA3 version was finalized.

mobeale commented 6 years ago

Hi Steve,

Not a problem! All sorted, few guys in the slack channel helped me out

Mat

On 24 Oct 2017, at 19:57, Steve Ellis notifications@github.com wrote:

Hey Mat,

I totally missed these. I was just checking the GitHub issue and didn't realize there was a separate email thread.

Did you get your problem figured out? If not, where are you stuck?

On Thu, Oct 12, 2017 at 1:28 PM Mat Beale notifications@github.com wrote:

Hi Steve,

Sorry to bother you again but attached is some of the errors I get when trying to run the devtest from the GitHub repo (I tinkered with the miner.toml without much luck). Assumed the devnet folder did not have to be a child of the chainlink one

Thanks

Mat

On 12 Oct 2017, at 20:32, Mathew beale m.beale@me.com wrote:

Not a problem, got something running now. I changed the gem file to latest version as I was having issues downgrading which have me the SO error, took me a while to realise it was the updated that Ruby version giving me shit.

Thanks again

If you need any volunteering for testing nodes/proofreading guides etc, please feel free to reach out, I am a developer myself (albeit ruby is not my language) and am very keen to get a head start on the node setup process

Mat

On 12 Oct 2017, at 20:26, Steve Ellis <notifications@github.com mailto:notifications@github.com> wrote:

@mobeale https://github.com/mobeale the current implementation is locked to 2.3.1 < https://github.com/smartcontractkit/chainlink/blob/master/.ruby-version>, but it should be ok to run against 2.3.* and back to 2.0.0.

As noted in the SO question, there are a couple big changes in upgrading to 2.4 which we have to iron out before we can be compatible with the newest ruby.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub < https://github.com/smartcontractkit/chainlink/issues/5#issuecomment-336240693>, or mute the thread < https://github.com/notifications/unsubscribe-auth/AHfqB-0Dt8FhLTW8qlYAIuItvOuFXEiJks5srmfogaJpZM4Pv6Ib .

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/smartcontractkit/chainlink/issues/5#issuecomment-336256309, or mute the thread https://github.com/notifications/unsubscribe-auth/AAjBgwrCjLw5rB6_lm-62CUP8gELxea_ks5srnZegaJpZM4Pv6Ib .

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/smartcontractkit/chainlink/issues/5#issuecomment-339095476, or mute the thread https://github.com/notifications/unsubscribe-auth/AHfqB5NuywWKSx5VVorz3s3yRNY1C2_kks5svjMugaJpZM4Pv6Ib.

se3000 commented 6 years ago

@sgarciafer are you trying to build this for development?

If you just want to run a node, it should still work using Docker.