Ethscriptions, short for Ethereum Subscriptions, are a novel way of creating and sharing digital artifacts on the Ethereum blockchain using transaction calldata. By leveraging the decentralized nature of Ethereum, Ethscriptions offer a secure and trustless method for creating and transferring unique digital content.
Quick and Easy
Creating an Ethscription is a straightforward process that can be completed in just 60 seconds. The following steps outline the process:
Convert an image to a Base64-encoded data URI: Using a service like base64-image.de, you can convert an image (up to ~90KB in size) into a data URI format (data:image/png;base64,...). Although Ethscriptions support all data URIs, images tend to work best.
Convert the data URI to hex: Utilize an online tool such as hexhero to convert the data URI into its hexadecimal representation.
Send a 0 ETH transaction: Send a 0 ETH transaction to the desired recipient, including the hex data from step 2 in the "Hex data" field. This transaction serves as the creation mechanism for the Ethscription.
Wait for appearance: After a short period, the newly created Ethscription should appear on the website, provided that the same content hasn't already been Ethscribed. Duplicate content is ignored to maintain uniqueness.
If you wish to transfer ownership of an existing Ethscription, follow these steps:
Find the Ethscription's ID: The ID of an Ethscription corresponds to the transaction hash of the original creation transaction. You can obtain this ID from Etherscan or the Ethscriptions website.
Send a 0 ETH transaction: Send a 0 ETH transaction to the new proposed owner, including the Ethscription ID in the "Hex data" field. This transaction signifies the transfer of ownership.
Updated ownership: After a brief period, the Ethscription's owner should be updated on the website, assuming you were the owner when initiating the transfer. Unauthorized transfers are disregarded.
To track Ethscriptions, you have multiple options:
Use the Ethscriptions website: The website itself provides a convenient way to track Ethscriptions and their ownership.
Build your own indexer: If you prefer not to rely on external services, you can develop an indexer that follows the rules of Ethscriptions. Historical data can be obtained from BigQuery, and real-time data can be accessed using Alchemy APIs.
Ethscriptions operate based on specific criteria:
Creation of Ethscriptions: Any successful Ethereum transaction whose input data, interpreted as UTF-8, represents a valid data URI creates an Ethscription. The data URI must be unique and can support various valid mimetypes, although images are recommended.
Unique content requirement: To maintain uniqueness, no Ethscription from a previous block or an earlier transaction in the same block can have the same content.
Valid Ethscription transfers: Any Ethereum transaction with input data matching the transaction hash of a valid Ethscription is considered a valid transfer. The transaction sender must be the current owner of the Ethscription.
The Ethscriptions protocol is constantly evolving, and upcoming features and improvements include:
Metadata storage: Enabling the Ethscription of a JSON object with keys such as content-uri and metadata-uri to support metadata.
Compression: Implementing gzip compression for transaction input data to enhance storage efficiency.
Encrypted messages: Exploring the addition of encrypted messages within Ethscriptions.
Contract compatibility: Allowing Ethscriptions to be transferred conveniently through contract interactions that emit specific events, while maintaining decentralization.
Approvals: Considering the inclusion of features similar to ERC721 that enable marketplace transfers