-
Notifications
You must be signed in to change notification settings - Fork 16
Restructure docs to make the right information more easily findable #51
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
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for sourcify-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
manuelwedler
left a comment
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.
Great restructuring! I like it a lot :)
|
|
||
| Sourcify ([sourcify.dev](https://sourcify.dev)) is a source-code verification service for Ethereum smart contracts supporting Solidity and Vyper. Sourcify is fully commited to Open-source, Open-data and Open-standards in smart-contract verification instead of siloed, propriety services. We foster these values across the ecosystem and work actively to push the status-quo in this direction. | ||
|
|
||
| Different than other verification services, Sourcify leverages the [Solidity metadata](/docs/metadata/) and its integrity hash to find [exact matches](/docs/exact-match-vs-match/) of Solidity contracts (see [the playground](https://playground.sourcify.dev)). |
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.
Below this paragraph, we could add a short explanation how the docs are structured and where to go next.
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.
Yes I think this page should give a nice overview of Sourcify, source code verification and the docs specifically.
We can skip it for now and I can look at this later
| title: Sourcify Docs | ||
| --- | ||
|
|
||
| import EmbedReadmeIntro from "./EmbedReadmeIntro"; |
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 can also delete EmbedReadmeIntro.jsx
| --- | ||
|
|
||
| :::info | ||
| lib-sourcify is used to directly verify contracts, it's NOT a wrapper around the Sourcify API. lib-sourcify works also in the browser, allowing source code verification to be executed in the user environment. |
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.
| lib-sourcify is used to directly verify contracts, it's NOT a wrapper around the Sourcify API. lib-sourcify works also in the browser, allowing source code verification to be executed in the user environment. | |
| lib-sourcify is used to directly verify contracts, it's NOT a wrapper around the Sourcify API. It supports Node.js and browser environments. | |
| Applications can integrate lib-sourcify in their frontends. This allows for verifying contract sources on the user's end and minimizes trust towards Sourcify. You can find an example [here](/blog/recap-2025/#lib-sourcify-on-browser-local-verification). |
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.
I would drop this page actually
| slug: /database-migration | ||
| --- | ||
|
|
||
| # Migration from Filesystem to Database |
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.
I wouldn't drop this page, because not all custom instances have upgraded yet. Can we add it to the "Run your own Sourcify instance" section?
| # Signature Database | ||
| --- | ||
| id: signature-database | ||
| slug: /signature-database |
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.
| slug: /signature-database | |
| slug: /repository/signature-database |
This is how the page was reached before
| --- | ||
| id: vyper | ||
| title: Vyper verification | ||
| slug: /vyper |
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 add a redirect from /docs/vyper to supported languages (inside docusaurus.config.js)
| --- | ||
| id: yul | ||
| title: Yul verification | ||
| slug: /yul |
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 also add a redirect for yul
| - **Verifier Alliance Database**: Shared database with other verification services. See the [Verifier Alliance](https://verifieralliance.org/) website for more info. | ||
| - **BigQuery**: For convenience, the Sourcify dataset is uploaded to [BigQuery](/docs/repository/sourcify-database/#bigquery-datasets). | ||
| - **IPFS**: The sources of all verified contracts are pinned on [IPFS](/docs/repository/file-repositories/#ipfs). |
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.
I'd like to mention the Verifier Alliance and that we pin to IPFS somewhere. Not sure what would be the best place for these. Maybe new subpages in "Sourcify in depth"?
| ``` | ||
|
|
||
| <div style={{textAlign: "center", fontStyle: "italic", marginTop: "-0.75rem", marginBottom: "1rem", fontSize: "0.9rem"}}> | ||
| How a contract looks like on Ethereum - <a href="https://holesky.otterscan.io/address/0x7ecedB5ca848e695ee8aB33cce9Ad1E1fe7865F8/contract">0x7ecedB5ca848e695ee8aB33cce9Ad1E1fe7865F8</a> on Ethereum Holesky Testnet |
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.
| How a contract looks like on Ethereum - <a href="https://holesky.otterscan.io/address/0x7ecedB5ca848e695ee8aB33cce9Ad1E1fe7865F8/contract">0x7ecedB5ca848e695ee8aB33cce9Ad1E1fe7865F8</a> on Ethereum Holesky Testnet | |
| How a contract looks like on Ethereum - <a href="https://eth-holesky.blockscout.com/address/0x7ecedB5ca848e695ee8aB33cce9Ad1E1fe7865F8?tab=contract">0x7ecedB5ca848e695ee8aB33cce9Ad1E1fe7865F8</a> on Ethereum Holesky Testnet |
the otterscan link is down
| title: Verify via Remix | ||
| --- | ||
|
|
||
| You can use the "unified verification plugin" written by the Sourcify team to verify on multiple verifiers on Remix. |
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.
| You can use the "unified verification plugin" written by the Sourcify team to verify on multiple verifiers on Remix. | |
| You can use the ["Unified Verification Plugin"](https://github.com/remix-project-org/remix-project/tree/master/apps/contract-verification) written by the Sourcify team to verify on multiple verifiers on Remix. |
| ```js title="hardhat.config.js" | ||
| sourcify: { | ||
| enabled: true, | ||
| // Optional: specify a different Sourcify server | ||
| apiUrl: "https://sourcify.dev/server", | ||
| // Optional: specify a different Sourcify repository | ||
| browserUrl: "https://repo.sourcify.dev", | ||
| } | ||
| ``` |
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.
Wasn't this enabled by default?
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 also have different v2 and v3 commands on our main page. How does it relate to this?
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.
Let's change "Verify via API" to "Verify via Sourcify API" (just the file name and title, not the slug)
| | Language | Supported | Exact match support | Monitoring | Metadata/ABI | IPFS data | | ||
| | --- | --- | --- | --- | --- | --- | | ||
| | Solidity | ✅ | ✅ | Similarity and IPFS | Both | ✅ | | ||
| | Vyper | ✅ | ❌ | Similarity | ABI | ❌ | | ||
| | Yul | ✅ | ❌ | Similarity | ❌ | ❌ | |
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.
I also don't get the Monitoring: Similarity and IPFS part. This table is a bit confusing overall. I think we can even remove this page completely.
|
I'd say this is a great start and already a big jump, thanks @marcocastignoli ! I just think this probably needs couple more revisions until we get to a shared understanding and structure. But surely no rush here. I really like the "Verify On Sourcify" section but the following sections didn't fully feel clearly structured. What I suggest now is to add the following pages higher up in the menu into their own pages. Also check the following visit stats of last 30 days:
I suggest we have the following sidebar menu:
|


This PR completely revamps Sourcify documentation, restructuring the menu and adding new pages