solana-labs / solana

Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces.
https://solanalabs.com
Apache License 2.0
13.36k stars 4.36k forks source link

Archiving this codebase on Arweave for permanence #34769

Open t8 opened 10 months ago

t8 commented 10 months ago

Problem

Solana's core codebases are currently only stored in web2 environments, which aren't permanent nor immutable.

Proposed Solution

Would like to propose automatically archiving this repo to Protocol.land, a decentralized source control protocol on Arweave.

A large part of the Solana community already leverages Arweave for data storage, so thinking it might make sense to do the same for the underlying codebase šŸ™‚

If so, let me know and Iā€™d be happy to open a PR! Super simple to do with a Github action: https://docs.protocol.land/working-with-repositories/import-a-repository-from-github

Himnasmidur commented 10 months ago

This makes a lot of sense. I support it!

Solana's speed with Arweave's stability would be a formidable combination.

0legRadchenko commented 10 months ago

yep, good idea to safeguard Solana's codebase with Protocol.land's immutable storage :)

whyyyseee commented 10 months ago

I like this idea, makes sense for Solana's codebase to be archived on protocol.land instead of a traditional web2 solution.

angrymouse commented 10 months ago

Hmm, what's wrong with just taking code snapshot every few months and uploading .tar.gz to arweave? @t8

angrymouse commented 10 months ago

Running upload script on every push means uploading a lot of txs to arweave, which may be not very cost effective option. Proposed CI script in docs isn't most secure either, as it runs newest version of @protocol.land/sync passing github auth token and arweave wallet to it. image Meaning if someone would compromise access to @protocol.land/sync on NPM, it would allow them to get github access token and arweave wallet from this repo's secrets.

angrymouse commented 10 months ago

From security perspective, I believe just switching to forced version would be fine (for example to @protocol.land/sync@0.1.4). From practical perspective tho, I think solana validators already hold full copies of nodes' code for it to be earthquake-proof, though uploading to arweave might add even more resilience.

kevinheavey commented 10 months ago

Don't worry guys I have a snapshot on my laptop, no need for arweave