-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
tools/docker: add solana localnet #11574
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When running solana docker I get the following error "rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2". I am using my Macbook for testing - is there an agreement that the docker files should be cross-platform? (I think we need to add something along the lines of https://stackoverflow.com/questions/71040681/qemu-x86-64-could-not-open-lib64-ld-linux-x86-64-so-2-no-such-file-or-direc to fix the issue) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, if we can make it cross-platform then we should. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
version: '3.5' | ||
|
||
services: | ||
node: | ||
depends_on: | ||
- solana | ||
node-2: | ||
depends_on: | ||
- solana | ||
solana: | ||
build: ../solana | ||
container_name: solana | ||
image: smartcontract/solana | ||
ports: | ||
- 8899 | ||
- 8900 | ||
volumes: | ||
- solana-db-data:/solana/database | ||
volumes: | ||
solana-db-data: |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,6 +14,8 @@ services: | |
restart: always | ||
environment: | ||
- CL_DATABASE_URL | ||
# - CL_SOLANA_CMD=chainlink-solana | ||
# - CL_MEDIAN_CMD=chainlink-median | ||
Comment on lines
+17
to
+18
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. disabling loop plugins? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. They are disabled by default. This is leftover after I tried to enable them - but IIRC this is rigged up to build a different Dockerfile that doesn't have them yet. I will remove this or add them to that file. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sorry, "I will remove this or add them to that file." - has this been already done? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No this has become stale, but I thought it might be a good reference for how things fit together in this sub dir. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sorry, is it clear what happens if you uncomment these lines? Is expected behavior to build a different docker image and enable these plugins? If yes, could you please test it and describe this behavior in the comment above. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These lines are meant to enable LOOP Plugins. I expected it to "just work", because they are built in to the official docker image now (just disabled by default). However, something broken and I'm not sure what, because my explanation in the first comment seems wrong - the regular docker images are used 🤔 We should fix it, but it is orthogonal to running Solana, so it could be left out of this PR. |
||
env_file: | ||
- chainlink-variables.env | ||
ports: | ||
|
@@ -34,6 +36,8 @@ services: | |
restart: always | ||
environment: | ||
- CL_DATABASE_URL | ||
# - CL_SOLANA_CMD=chainlink-solana | ||
# - CL_MEDIAN_CMD=chainlink-median | ||
env_file: | ||
- chainlink-variables.env | ||
ports: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
FROM ubuntu:20.04 | ||
WORKDIR /solana | ||
|
||
ADD https://github.com/solana-labs/solana/releases/download/v1.16.23/solana-release-x86_64-unknown-linux-gnu.tar.bz2 . | ||
RUN tar jxf solana-release-x86_64-unknown-linux-gnu.tar.bz2 | ||
ENV PATH=/solana/solana-release/bin:$PATH | ||
|
||
ENTRYPOINT [ "solana-test-validator" ] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. just curious, would you also want prefunding the CL node? you should be able to do that with the |
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.
We already have a custom logic based on $GETH_MODE, would it make sense to have the same for solana?
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.
It looks like
$GETH_MODE
toggle between go-ethereum vs. parity clients. AFAIK we don't have client variety on Solana, so we don't need an equivalent toggle.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.
Sorry, I meant what happens if we want to run the node without Solana at all. Is the configuration supposed to be flexible?
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.
We could make it flexible. This setup predates multi-chain and non-evm support, and hasn't been updated with those in mind until now, so this is an open question.
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.
At the time, I just wanted a simpler way to test LOOP Plugins like Solana, without running CI integration tests.