
Mirror and Paragraph Join Forces to Elevate Onchain Publishing
Mirror and Paragraph are joining forces, marking a significant milestone in onchain publishing. Paragraph will take over stewardship of the Mirror product, design system, and brand. Colin Armstrong will be CEO and Denis Nazarov will remain as an advisor. Paragraph is also excited to announce that they’ve raised a $5M fundraising round with investment from Union Square Ventures and Coinbase Ventures. With this new capital and support from industry leaders like Coinbase and USV, Paragraph will ...

A New Chapter for Mirror
Over the past few years, Mirror pioneered a new model for publishing, one rooted in ownership, community, and composability. From crowdfunding and splits to writing NFTs and wallet-native subscriptions, Mirror gave readers, writers, and builders a place to share ideas, launch movements, and form communities. Writing, art, and projects of all kinds were funded onchain in totally new ways, inspiring a new generation of writers and creators. In 2023, Mirror and Paragraph announced plans to combi...
Publishing on Mirror is Now Open to All
Connect your wallet and start a decentralized blog in seconds.Last December, Mirror launched its first product: a decentralized publishing protocol. Over the past year, we’ve also launched economic blocks for crowdfunding, auctions, NFT editions, and splits—as well as a governance product. Mirror has evolved from a tool for writers to a full-stack web3 creative suite for communities and DAOs. More than ever, we believe that every creative project starts with a story. Our goal is to make Mirro...

Mirror and Paragraph Join Forces to Elevate Onchain Publishing
Mirror and Paragraph are joining forces, marking a significant milestone in onchain publishing. Paragraph will take over stewardship of the Mirror product, design system, and brand. Colin Armstrong will be CEO and Denis Nazarov will remain as an advisor. Paragraph is also excited to announce that they’ve raised a $5M fundraising round with investment from Union Square Ventures and Coinbase Ventures. With this new capital and support from industry leaders like Coinbase and USV, Paragraph will ...

A New Chapter for Mirror
Over the past few years, Mirror pioneered a new model for publishing, one rooted in ownership, community, and composability. From crowdfunding and splits to writing NFTs and wallet-native subscriptions, Mirror gave readers, writers, and builders a place to share ideas, launch movements, and form communities. Writing, art, and projects of all kinds were funded onchain in totally new ways, inspiring a new generation of writers and creators. In 2023, Mirror and Paragraph announced plans to combi...
Publishing on Mirror is Now Open to All
Connect your wallet and start a decentralized blog in seconds.Last December, Mirror launched its first product: a decentralized publishing protocol. Over the past year, we’ve also launched economic blocks for crowdfunding, auctions, NFT editions, and splits—as well as a governance product. Mirror has evolved from a tool for writers to a full-stack web3 creative suite for communities and DAOs. More than ever, we believe that every creative project starts with a story. Our goal is to make Mirro...
Subscribe to Mirror Blog
Subscribe to Mirror Blog
Share Dialog
Share Dialog
>290K subscribers
>290K subscribers
All of Mirror’s posts are available to access on Arweave, an on-chain decentralized storage layer that makes it so that your posts exist forever (even if Mirror does not)!
Here’s a basic tutorial on how to get data published on Mirror directly from Arweave:
Grab the Mirror content digest from the end of a Mirror post URL. The URL for this post is dev.mirror.xyz/GjssNdA6XK7VYynkvwDem3KYwPACSU9nDWpR5rei3hw and so the digest is GjssNdA6XK7VYynkvwDem3KYwPACSU9nDWpR5rei3hw
We’re going to plug this digest value into a query against Arweave’s graphQL endpoint to render the data
We’re going to make use of a couple of tags to get the Arweave transaction via GraphQL. Every post on Mirror has a few tags we can use to filter for the content:
App-Name: MirrorXYZ tells Arweave to scope the results to all posts on Mirror
Original-Content-Digest: GjssNdA6XK7VYynkvwDem3KYwPACSU9nDWpR5rei3hw tells Arweave to return every single transaction that matches the requested content digest
By default, we upload every single published update on a post to Arweave, so the query returns a list. To get the most recently published update sent to Arweave, we just sort the results by block height and grab the newest transaction.
Once, we have the Transaction ID we need, we can use the getData function in the Arweave JS SDK to render the JSON content
We can also verify that we have the correct transaction ID navigating to arweave.net/<TRANSACTION_ID> which will render the JSON
Our digest GjssNdA6XK7VYynkvwDem3KYwPACSU9nDWpR5rei3hw returns a transaction ID of dysIrCovgAHJ6siGA5_r27Q59j2tv5wD4kqc1bxRFVE, which renders the content you see here.
The GraphQL query is available as a gist here.
In order to bypass requiring content digests to populate Mirror posts, you can use the Contributor tag to query for all posts made by a specific wallet. A full list of available tags is available on the Transaction GraphQL object.
All of Mirror’s posts are available to access on Arweave, an on-chain decentralized storage layer that makes it so that your posts exist forever (even if Mirror does not)!
Here’s a basic tutorial on how to get data published on Mirror directly from Arweave:
Grab the Mirror content digest from the end of a Mirror post URL. The URL for this post is dev.mirror.xyz/GjssNdA6XK7VYynkvwDem3KYwPACSU9nDWpR5rei3hw and so the digest is GjssNdA6XK7VYynkvwDem3KYwPACSU9nDWpR5rei3hw
We’re going to plug this digest value into a query against Arweave’s graphQL endpoint to render the data
We’re going to make use of a couple of tags to get the Arweave transaction via GraphQL. Every post on Mirror has a few tags we can use to filter for the content:
App-Name: MirrorXYZ tells Arweave to scope the results to all posts on Mirror
Original-Content-Digest: GjssNdA6XK7VYynkvwDem3KYwPACSU9nDWpR5rei3hw tells Arweave to return every single transaction that matches the requested content digest
By default, we upload every single published update on a post to Arweave, so the query returns a list. To get the most recently published update sent to Arweave, we just sort the results by block height and grab the newest transaction.
Once, we have the Transaction ID we need, we can use the getData function in the Arweave JS SDK to render the JSON content
We can also verify that we have the correct transaction ID navigating to arweave.net/<TRANSACTION_ID> which will render the JSON
Our digest GjssNdA6XK7VYynkvwDem3KYwPACSU9nDWpR5rei3hw returns a transaction ID of dysIrCovgAHJ6siGA5_r27Q59j2tv5wD4kqc1bxRFVE, which renders the content you see here.
The GraphQL query is available as a gist here.
In order to bypass requiring content digests to populate Mirror posts, you can use the Contributor tag to query for all posts made by a specific wallet. A full list of available tags is available on the Transaction GraphQL object.
No activity yet