Skip to content

Conversation

@marcocastignoli
Copy link
Member

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

@netlify
Copy link

netlify bot commented Jan 20, 2026

Deploy Preview for sourcify-docs ready!

Name Link
🔨 Latest commit ca44901
🔍 Latest deploy log https://app.netlify.com/projects/sourcify-docs/deploys/696f9f9aadab580008db9843
😎 Deploy Preview https://deploy-preview-51--sourcify-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@manuelwedler manuelwedler moved this to Sprint - Needs Review in Sourcify Public Jan 20, 2026
@manuelwedler manuelwedler self-requested a review January 20, 2026 15:52
@marcocastignoli marcocastignoli self-assigned this Jan 21, 2026
@manuelwedler
Copy link
Member

I'm currently reviewing it and it looks great so far!

Just one note that didn't fit to any file: Can we change the styling of the menu a bit?

I tried it myself and got this:

image

By adding this to custom.css:

.theme-doc-sidebar-item-category-level-1 > .menu__list-item-collapsible,
.theme-doc-sidebar-item-link-level-1.menu__list-item:not(:first-child),
.theme-doc-sidebar-item-link-level-1 {
  margin-top: 1rem;
}

.theme-doc-sidebar-item-category-level-1 > .menu__list-item-collapsible > .menu__link,
.theme-doc-sidebar-item-link-level-1 > .menu__link {
  font-weight: 700;
}

Copy link
Member

@manuelwedler manuelwedler left a 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)).
Copy link
Member

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.

Copy link
Member

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";
Copy link
Member

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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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).

Copy link
Member

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
Copy link
Member

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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
slug: /signature-database
slug: /repository/signature-database

This is how the page was reached before

---
id: vyper
title: Vyper verification
slug: /vyper
Copy link
Member

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
Copy link
Member

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

Comment on lines -6 to -8
- **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).
Copy link
Member

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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

Comment on lines +13 to +21
```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",
}
```
Copy link
Member

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?

Copy link
Member

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?

Copy link
Member

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)

Comment on lines +11 to +15
| Language | Supported | Exact match support | Monitoring | Metadata/ABI | IPFS data |
| --- | --- | --- | --- | --- | --- |
| Solidity | ✅ | ✅ | Similarity and IPFS | Both | ✅ |
| Vyper | ✅ | ❌ | Similarity | ABI | ❌ |
| Yul | ✅ | ❌ | Similarity | ❌ | ❌ |
Copy link
Member

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.

@kuzdogan
Copy link
Member

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:

image

I suggest we have the following sidebar menu:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants