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

[README] Quick Start Section #4650

Closed
ggwpez opened this issue May 30, 2024 · 11 comments
Closed

[README] Quick Start Section #4650

ggwpez opened this issue May 30, 2024 · 11 comments
Labels
T11-documentation This PR/Issue is related to documentation.

Comments

@ggwpez
Copy link
Member

ggwpez commented May 30, 2024

Our readme does not have a quickstart section or similar. Ideally when opening a repo, there is a one-liner to copy&paste that sets up a minimal demo and development env.

Not sure how to best do this, but i am pretty bullish on pop-cli. So maybe we can setup some script that installs it and runs a local parachain example.

For the development setup we could try things like devbox (more friendly version than nix flake) or similar. I think we used nix in the past and it got removed after not being maintained, so maybe that is lower prio.

@kianenigma kianenigma added the T11-documentation This PR/Issue is related to documentation. label Jun 12, 2024
@kianenigma
Copy link
Contributor

I've updated the README in the meantime to point to your_first_pallet for now, but we need something better.

We should point to more external sources.

paritytech/eng-automation#10 will also help with this.

@kianenigma
Copy link
Contributor

Maybe we can transform mod templates in sdk-docs to be mod getting_started, one of tarter ways being templates, and then let all community members add their corresponding tools and getting started notes in there?

https://github.com/paritytech/polkadot-sdk/pull/4735/files#diff-e6af0e6ffed57caecb3809a6d6192e670849e6b62eeb077ee041366804ec676f

@kianenigma
Copy link
Contributor

For the development setup we could try things like devbox (more friendly version than nix flake) or similar. I think we used nix in the past and it got removed after not being maintained, so maybe that is lower prio.

I am not familiar enough yet with the tools here but @rzadp can look into it as a part of paritytech/eng-automation#10 and specificailly as a part of new install_polkadot_sdk.sh script that gets you up and running.

@rzadp
Copy link
Contributor

rzadp commented Jun 12, 2024

As for the development setup: which linux distros do we want to support for development?

I didn't see it written down anywhere, but looking at CI, seems like we support only Ubuntu/Debian at the moment. Do we want to support more?

I tried to configure a fresh Alpine docker container and compile a minimal template as an experiment, but failed and gave up after a while :(

Not sure if devbox/nix is a magical solution there - installing devbox went completely different for me in a Debian vs Alpine container - with Alpine I've similarly run into issues.

I think a distro can be called supported if it's used on CI. So we would be trading a script to install polkadot-sdk prerequisites on different distros, for a script that installs devbox prerequisites on different distros. 😅


Also, I'm not sure if devbox/nix is that valuable for this project, to justify that trade. It's nice to separate node/python/etc between projects, but polkadot-sdk needs:

  • rustup, which from what I understand is typically kept latest across all Rust projects.
  • Several system packages like protobuf-compiler - whichever versions are available in the system repositories are typically installed and that's it. polkadot-sdk does not specify required versions or anything.

So I'm not sure it's good to impose an isolated development solution like devbox/nix onto the user without a real need - or do you see it differently?

@ggwpez
Copy link
Member Author

ggwpez commented Jun 12, 2024

So I'm not sure it's good to impose an isolated development solution like devbox/nix onto the user without a real need - or do you see it differently?

If its easy enough to install the dependencies without devbox then we dont need it. It was just an idea, but having a script would also work.

For support: we do support Debian (Ubuntu) and MacOS. I think we had a bash script in the past.
Ideally it would be a one-liner that can be copy&pasted that will install all deps.

@kianenigma
Copy link
Contributor

I would love to see this bash script to be fancy, use ascii art, be interactive and fun to use :)

@apopiak
Copy link
Contributor

apopiak commented Jun 20, 2024

If we want a pretty one-liner, we might want to have a nice url like polkadot-sdk.io/getting-started.sh or sh.polkadot.network so we can do:
curl --proto '=https' --tlsv1.2 -sSf https://get-started.polkadot.sdk| sh

@peterwht
Copy link

Happy to see some bullishness on Pop CLI :)

We have a new command pop install that was inspired by the get-substrate script. We have done some testing with docker containers and this command has been particularly useful to get started very quick.

We intend to continue improving on it to make it more "interactive and fun to use" :) We are very open to feedback and suggestions.

One thing to note, with Pop CLI it will take two steps:

  1. Install the latest Pop CLI binary
  2. Run pop install

But after that, generating a new parachain and launching it locally requires no additional installations.

@kianenigma
Copy link
Contributor

Happy to see some bullishness on Pop CLI :)

We have a new command pop install that was inspired by the get-substrate script. We have done some testing with docker containers and this command has been particularly useful to get started very quick.

We intend to continue improving on it to make it more "interactive and fun to use" :) We are very open to feedback and suggestions.

One thing to note, with Pop CLI it will take two steps:

  1. Install the latest Pop CLI binary
  2. Run pop install

But after that, generating a new parachain and launching it locally requires no additional installations.

@peterwht what do you think of #4879? Does it overlap a lot with what pop install does?

In any case, we'd be happy to link to pop install as an alternative as well.

@peterwht
Copy link

peterwht commented Jul 2, 2024

Hey @kianenigma, thanks for the response. #4879 does have overlap with pop install. However, having multiple options is valuable IMO. For Pop CLI, pop install is one piece, and more focus is put on what comes after having your environment setup.

@kianenigma
Copy link
Contributor

Can be closed now? we merged our in-house script.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T11-documentation This PR/Issue is related to documentation.
Projects
None yet
Development

No branches or pull requests

5 participants