Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nimbus backend initial implementation #1794

Merged
merged 4 commits into from
Jan 20, 2020
Merged

Conversation

pedropombeiro
Copy link
Contributor

@pedropombeiro pedropombeiro commented Jan 15, 2020

The intent of this PR is to merge the Nimbus work done so far in a way that doesn't impact the way we're using status-go (with geth).

Changes:

  • Replaced mobile/backend.go with a pared-down Nimbus version (non-implemented methods will panic for the time being);
  • Still using a couple of Geth services instead of Nimbus replacements (waiting on @kdeme here):
    • keystore while we work to expose the Nimbus version;
    • RPC client/server classes;
  • Tests have not been adapted for Nimbus;
  • Some services have been disabled for Nimbus (mailservers, wallet, personal, discovery);

Thought process/architecture behind the change;

  • status-react will leverage Nix to build a libnimbus.a lib and feed it to status-go;
  • The idea is to fork logic at the backend level with the entry point used by status-react (mobile/backend.go);
  • We'll do compile-time backend selection (controlled by feature flag in .env files). Runtime selection is possible given some time investment;
  • Make it possible to iterate with local repos without needing to commit Nimbus/status-go changes;

Part of #1677

@pedropombeiro pedropombeiro added the nimbus Nimbus node-related label Jan 15, 2020
@pedropombeiro pedropombeiro self-assigned this Jan 15, 2020
@status-github-bot
Copy link

status-github-bot bot commented Jan 15, 2020

Pull Request Checklist

  • Have you updated the documentation, if impacted (e.g. docs.status.im)?

@status-im-auto
Copy link
Member

status-im-auto commented Jan 15, 2020

Jenkins Builds

Click to see older builds (47)
Commit #️⃣ Finished (UTC) Duration Platform Result
bffd90c #1 2020-01-15 07:17:36 ~44 sec android 📄log
✔️ bffd90c #1 2020-01-15 07:17:54 ~59 sec linux 📦zip
bffd90c #1 2020-01-15 07:18:57 ~2 min ios 📄log
✔️ 589ab4b #2 2020-01-15 07:33:05 ~1 min linux 📦zip
589ab4b #2 2020-01-15 07:33:30 ~2 min android 📄log
589ab4b #2 2020-01-15 07:34:54 ~3 min ios 📄log
1483684 #3 2020-01-15 11:00:32 ~35 sec android 📄log
✔️ 1483684 #3 2020-01-15 11:00:47 ~47 sec linux 📦zip
1483684 #3 2020-01-15 11:01:22 ~1 min ios 📄log
cac9575 #4 2020-01-15 12:06:44 ~25 sec android 📄log
cac9575 #4 2020-01-15 12:06:57 ~36 sec ios 📄log
✔️ cac9575 #4 2020-01-15 12:07:15 ~52 sec linux 📦zip
16e9c35 #5 2020-01-15 13:57:47 ~27 sec android 📄log
16e9c35 #5 2020-01-15 13:57:58 ~37 sec ios 📄log
✔️ 16e9c35 #5 2020-01-15 13:58:11 ~48 sec linux 📦zip
848824b #6 2020-01-15 14:32:54 ~23 sec android 📄log
848824b #6 2020-01-15 14:33:07 ~34 sec ios 📄log
✔️ 848824b #6 2020-01-15 14:33:13 ~39 sec linux 📦zip
848824b #7 2020-01-15 17:48:27 ~31 sec android 📄log
e20002f #8 2020-01-15 22:24:35 ~26 sec android 📄log
e20002f #7 2020-01-15 22:24:50 ~40 sec ios 📄log
✔️ e20002f #7 2020-01-15 22:24:55 ~43 sec linux 📦zip
06ff7ad #9 2020-01-16 08:10:32 ~36 sec android 📄log
06ff7ad #8 2020-01-16 08:10:46 ~47 sec ios 📄log
✔️ 06ff7ad #8 2020-01-16 08:10:50 ~50 sec linux 📦zip
06ff7ad #10 2020-01-16 08:40:31 ~45 sec android 📄log
04587c7 #9 2020-01-16 08:45:14 ~31 sec ios 📄log
04587c7 #11 2020-01-16 08:45:18 ~36 sec android 📄log
✔️ 04587c7 #9 2020-01-16 08:45:22 ~37 sec linux 📦zip
✔️ eb503ba #10 2020-01-16 08:54:49 ~35 sec linux 📦zip
✔️ eb503ba #10 2020-01-16 08:59:21 ~5 min ios 📦zip
✔️ eb503ba #12 2020-01-16 09:04:15 ~10 min android 📦aar
✔️ 6d18fc0 #11 2020-01-16 12:21:38 ~49 sec linux 📦zip
✔️ 6d18fc0 #11 2020-01-16 12:24:28 ~3 min ios 📦zip
✔️ 6d18fc0 #13 2020-01-16 12:30:09 ~9 min android 📦aar
✔️ 0897b35 #12 2020-01-16 16:14:34 ~40 sec linux 📦zip
✔️ 0897b35 #12 2020-01-16 16:16:34 ~2 min ios 📦zip
✔️ 0897b35 #14 2020-01-16 16:22:02 ~8 min android 📦aar
✔️ c9e760a #13 2020-01-17 12:59:35 ~51 sec linux 📦zip
✔️ c9e760a #13 2020-01-17 13:01:14 ~2 min ios 📦zip
✔️ c9e760a #15 2020-01-17 13:06:02 ~7 min android 📦aar
✔️ 8fa37d9 #14 2020-01-17 14:04:40 ~37 sec linux 📦zip
✔️ 8fa37d9 #14 2020-01-17 14:06:55 ~2 min ios 📦zip
✔️ 8fa37d9 #16 2020-01-17 14:11:43 ~7 min android 📦aar
✔️ 586884a #15 2020-01-17 14:11:12 ~41 sec linux 📦zip
✔️ 586884a #15 2020-01-17 14:14:01 ~3 min ios 📦zip
✔️ 586884a #17 2020-01-17 14:18:49 ~7 min android 📦aar
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 5ba9730 #16 2020-01-17 14:15:01 ~42 sec linux 📦zip
✔️ 5ba9730 #16 2020-01-17 14:16:47 ~2 min ios 📦zip
✔️ 5ba9730 #18 2020-01-17 14:26:19 ~7 min android 📦aar
✔️ 0fc3c4c #17 2020-01-17 14:28:55 ~58 sec linux 📦zip
✔️ 0fc3c4c #17 2020-01-17 14:30:53 ~2 min ios 📦zip
✔️ 0fc3c4c #19 2020-01-17 14:35:25 ~7 min android 📦aar

Copy link
Member

@jakubgs jakubgs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think a call to explain this PR would be cool.

Makefile Show resolved Hide resolved
account/accounts_nimbus.go Show resolved Hide resolved
account/keystore_nimbus.go Show resolved Hide resolved
api/nimbus_backend.go Show resolved Hide resolved
@pedropombeiro pedropombeiro force-pushed the feature/nimbus-backend branch 8 times, most recently from 586884a to 5ba9730 Compare January 17, 2020 14:14
Copy link
Member

@jakubgs jakubgs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving based on conversation I had with Pedro on Thursday. I understand that many of those changes are in a sense temporary and it is intentional that we are avoiding refactoring in order to simplify reaching functionality parity step by step.

@pedropombeiro pedropombeiro merged commit 93975aa into develop Jan 20, 2020
@delete-merged-branch delete-merged-branch bot deleted the feature/nimbus-backend branch January 20, 2020 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
nimbus Nimbus node-related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants