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

services/soroban-rpc: Spike to try running horizon & soroban-rpc together in a quickstart container #4590

Closed
paulbellamy opened this issue Sep 15, 2022 · 11 comments · Fixed by stellar/quickstart#367
Assignees

Comments

@paulbellamy
Copy link
Contributor

paulbellamy commented Sep 15, 2022

As a short-term solution, having soroban-rpc proxy to a horizon server would be a quicker way for us to build getAccount functionality (#4556).

We want devs to be able to run a local standalone network (and run soroban-rpc locally pointed at futurenet). This will be done via the quickstart docker image.

However, I am concerned that both horizon and soroban-rpc running captive-core in the same docker image will conflict. The spike here is to see if that causes issues, or if it just works.

@paulbellamy paulbellamy moved this to Backlog in Platform Scrum Sep 15, 2022
@paulbellamy paulbellamy moved this from Backlog to Next Sprint Proposal in Platform Scrum Sep 15, 2022
@leighmcculloch
Copy link
Member

leighmcculloch commented Sep 15, 2022

Is the quickstart container referencing http://github.com/stellar/quickstart? That image would be the ideal place to do this I think, as it already has all the foundation for running nodes, horizon, friendbot, captive-core, etc.

@leighmcculloch
Copy link
Member

leighmcculloch commented Sep 15, 2022

For an example for how to add a new service to the quickstart image, see this change where we added friendbot recently: stellar/quickstart@f7fe34c

(Note that the change there is bigger than what you actually need to do because that change also introduced nginx that sits in front of all HTTP services exposed by the container, but you don't need to add nginx.)

@sreuland
Copy link
Contributor

@paulbellamy , wanted to confirm usage of futurenet and standalone mentioned in spec:

Image

they are referring to same instance of core/network hosted in quickstart image or different?

@leighmcculloch
Copy link
Member

The quickstart image supports 3 networks out of the box today:

  • pubnet, testnet – it connects to these networks as a node.
  • standalone – it starts its own private network.

I imagine we will add another option similar to the first two that is futurenet or sorobannet.

soroban-rpc should be able to work with the others, like standalone too though.

@sreuland
Copy link
Contributor

@leighmcculloch , thanks, I'll start looking into quickstart repo per your suggestions, I think have confirmed the expected outcome of the image/container on #4554 chat to support the dev use case from there:

Untitled-2022-09-15-0601

@sreuland sreuland moved this from Next Sprint Proposal to Current Sprint in Platform Scrum Sep 15, 2022
@sreuland sreuland moved this from Current Sprint to In Progress in Platform Scrum Sep 16, 2022
@sreuland
Copy link
Contributor

@leighmcculloch @paulbellamy @tamirms

I've posted PR draft with changes in quickstart to modify the image and include latest version of soroban-rpc by @tamirms for getAccount, which dropped usage of captive core/ingest, instead using horizon api, the modified quickstart container looks stable, I put soroban-rpc behind quickstart's nginx, and was able to invoke getAccount and getHealth.

@sreuland sreuland moved this from In Progress to Needs Review in Platform Scrum Sep 16, 2022
@sreuland
Copy link
Contributor

@leighmcculloch @paulbellamy , wanted to check with you on how 'futurenet' network could be used with this image, can that be accomplished as-is with --standalone network and persistent-mode with -v docker host volume in order to provide custom core.cfg files, and later that can be automated in quickstart repo such as with a new network flag like --futurenet or does --futurenet network in quickstart need to be included now?

@leighmcculloch
Copy link
Member

leighmcculloch commented Sep 19, 2022

@sreuland We need to add a command line option that configures all of the applications to point to futurenet in the same way we already have the --pubnet and --testnet options.

I wouldn't go the route of relying on -v which is really difficult to use. We should provide a first-class --futurenet option.

@sreuland
Copy link
Contributor

@leighmcculloch , thanks for confirm, do you know where I could obtain a sample of core.cfg file for futurenet?

We want to allow captive core mode in the image --enable-horizon-captive-core to be allowed with --futurenet also correct? similar as it's allowed for --standalone network in the image.

@leighmcculloch
Copy link
Member

Futurenet doesn't exist yet, and the command line options in the quickstart image need to be added for it. I don't think there is an issue for this work, so I just created: stellar/quickstart#368.

@sreuland
Copy link
Contributor

ok, the effort to support --futurenet will be done on #4559, the spike for confirming soroban-rpc with horizon api was completed here, closing this.

@sreuland sreuland moved this from Needs Review to Done in Platform Scrum Sep 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants