Sourcify repository Dappnode package
To improve decentralization and availability of our repository, we can create a DNP that anybody can install on their dappnode machine and have the entire sourcify repository on their local machine. It will regularly fetch new contracts and repin the repository to make it available for others.
Features:
- one click install service
- auto pinning ipfs repository
- contract fetcher
for context: https://github.com/ethereum/sourcify/issues/163
EDIT: as there is a lot of text - this is what the dappnode package should do:
(0) download the current state from the source and calculate a diff to our local repo (initially the diff is equal to the source repo)
(1) recompile all contracts in the diff and when they verify move them to the local repo
(2) pin our local repo to IPFS (ideally this is then the same hash that is resolved from the source repo so all people running sourcify on the dappnode help distributing/seeding the content)
(3) sleep a defined amount of time
(4) goto (0)
I actually discussed about the same thing with a guy from Dappnode druing DEVCON VI. He told me that there is already a pinning service on Dappnode and we discussed about having a list of "ethical" repo, that incentivizes the users to pin those files. Ofc one of the repos will be Sourcify