Issuing tokens on the Bitcoin network? Learn how to cast BRC-20 in one article

IntermediateJan 01, 2024
This article explains how to mint BRC-20 on the Bitcoin network.
Issuing tokens on the Bitcoin network? Learn how to cast BRC-20 in one article

Yesterday, @domodata launched “BRC-20,” an innovative experiment based on the Ordinals protocol. The experiment aims to test whether the Ordinals protocol can promote the “fungibility” of Bitcoin, that is, to achieve the effect of issuing ERC-20 tokens on the Bitcoin network through the Ordinals protocol.

BRC-20 has driven the Bitcoin network crazy once again. More than 30,000 “inscriptions” were cast on March 9, of which the number of text-type “inscriptions” was close to 27,000.

Let’s take a look at how to play BRC-20 Token

Deploy

Use the Ordinals protocol to burn the text shown below to deploy the BRC-20 token:

The meanings of each keyword are as follows:

“p”: Type of agreement. A keyword that must be included. This keyword defines operations based on the BRC-20 protocol to help other systems identify and process BRC-20 events.

“op”: The type of event. A required keyword that defines the type of event, whether it’s a Deploy deployment, Mint minting, or Transfer transfer.

“tick”: BRC-20 Token ID. The key word that must be included, “lim”: the maximum number of BRC-20 tokens a single inscription can hold. An optional keyword that defines the maximum number of BRC-20 tokens a user can obtain by casting an inscription. If this is set to 1000, you can get up to 1000 BRC-20 tokens when minting a single inscription.

“dec”: decimal precision. An optional keyword that defines the decimal precision of the BRC-20 Token, which is set to 18 by default.

According to data on Dune, three BRC-20 tokens have been successfully deployed: $ordi, $meme, and $punk. This keyword defines the BRC-20 Token name, which consists of 4 letters.

“max”: The maximum supply. A required keyword that defines the maximum supply of BRC-20 tokens.

Mint casting

Use the Ordinals protocol to burn the text shown below to mint BRC-20 tokens:

The meanings of each keyword are as follows:

“p”: Type of agreement. A keyword that must be included. This keyword defines operations based on the BRC-20 protocol to help other systems identify and process BRC-20 events.

“op”: The type of event. A required keyword that defines the type of event, whether it’s a Deploy deployment, Mint minting, or Transfer transfer.

“tick”: BRC-20 Token ID. A required keyword that defines the BRC-20 Token name and consists of 4 letters. The content of “tick” here means “ordi” means that the BRC-20 token minted is $ordi.

“amt”: The number of BRC-20 tokens minted. A keyword that must be included. This keyword defines how many BRC-20 tokens a single inscription will be minted, and the value given for this keyword must be less than the “lim” value deployed by that BRC-20 Token. For example, the “lim” value deployed by ordi is 1000, then when casting an inscription, this keyword can be given any value in the range of 1-1000, and usually the number of ordi that can be obtained by casting a single inscription if 1000 is full.

Transfer

Use the Ordinals protocol to burn the text shown below to transfer BRC-20 tokens:

The meanings of each keyword are as follows:

“p”: Type of agreement. A keyword that must be included. This keyword defines operations based on the BRC-20 protocol to help other systems identify and process BRC-20 events.

“op”: The type of event. A required keyword that defines the type of event, whether it’s a Deploy deployment, Mint minting, or Transfer transfer. The content of “op” here means “transfer” means that the event type is a transfer.

“tick”: BRC-20 Token ID. A required keyword that defines the BRC-20 Token name and consists of 4 letters. The content of “tick” here means “ordi” means that the transferred BRC-20 token is $ordi.

“amt”: The number of BRC-20 tokens transferred. A required keyword that defines how many BRC-20 tokens will be transferred.

“to”: The destination of the transfer. An optional keyword that defines the address of the recipient of the transfer. If this field is left blank, the default recipient address is correct. Currently, this keyword is only used for data tracking tests on Dune boards.

“fee”: the transfer fee. An optional keyword that defines the amount of the transfer fee. Currently, this keyword is only used for Dune’s board’s data tracking tests (in the absence of Taproot data).

First-come-first-served basis

Whether it’s Deploy deployment, Mint minting, or Transfer transfers, follow a first-come, first-served basis.

For Deploy deployments, if an BRC-20 token with the same name is deployed, the first deployment is considered the only successful deployment.

For mint minting, any mint exceeding the total amount is considered invalid, and effectiveness is based on the timing of Mint’s success, on a “first come, first served” basis.

For Transfer transfers, if 2 transfer events occur within the same block, priority is given to the higher-cost event.

$ordi casting situation

$ordi is the first BRC-20 token to be deployed. Through UniSAT’s BRC-20 search function, you can see that there are currently 23161 inscriptions related to $ordi casting.

Assuming that the “amt” values of these 2,3161 inscriptions are all filled and set to 1000, then minting $ordi again at this point will already be considered invalid because the total amount of $ordi is set to 21 million.

If you’re a friend who minted with Mint Bot, pay special attention. Does Mint Bot first cast the inscription to its own address and then transfer it to you, or use your address as the receiving address when minting. If you “first mint the inscription to your own address and then transfer it,” this situation is ruined because the balance is still attached to the Mint Bot address, and as long as Mint Bot mints another Transfer inscription, the balance can be used up. You can confirm the Genesis transaction to view your Mint inscription on the Ordinals browser (whether to output directly to your own address).

Also note that the Mint inscription does not indicate ownership of the balance. In other words, it is currently incorrect to buy Mint inscriptions directly in the secondary market to obtain $ordi; the current balance address must be minted with the Transfer inscription to transfer $ordi.

How about Mint BRC-20 Token?

Batch mints can be achieved very smoothly using UniSat.

First, go to the page and select “BRC-20”.

The setup after that is also easy:

Fill in the “Tick” field with the name of the BRC-20 token you want to mint. In the “Amount” column, fill in the number of tokens included in each inscription (for example, the maximum value set for $ordi during deployment is 1000; fill in 1000 here). The “Repeat Mint” setting at the bottom is the number of mints in batches. (Note: As mentioned above, $ordi is likely to have completed all of Mint. (The image above is just an example, don’t run the risk of invalidating Mint at this point)

Click “Next” twice to confirm that the details you want Mint are correct:

Then click “Next” and fill in the Bitcoin address to be received in the red box. At the same time, you can also choose the gas fee level, or choose “Custom” if you want to complete Mint as quickly as possible.

Then click “Submit & Pay Invoice” to enter the payment window:

The payment address is displayed below “Copy address below,” and the “Total Amount” shows the payment amount. After completing the transfer using your Bitcoin wallet, just wait for the inscription to arrive.

However, the inscriptions that came out using UniSat Mint are only 546 Satoshi, and community users are worried that this will cause the inscriptions to be lost during the transfer due to insufficient clout reserved for use as gas.

In response, the official Discord response was “You can support transfers by depositing additional fees in your wallet.”

epilogue

You might think, what’s the point of trying to do this kind of ERC-20 token on Bitcoin? The smart contract or the ERC-20 token printing machine actually created a new token. What’s the difference between this BRC-20 and writing my name on a note and then naming this note “My Coin”?

This is exactly the charm of Ordinals Agreements. The Ordinals Protocol is much more important than bringing the so-called “Bitcoin NFTs” itself—it gives all Bitcoin enthusiasts the freedom to give Bitcoin a new meaning. Some people think Bitcoin can be an “art carrier,” while others think Bitcoin can be a “mint”… Everyone’s different understanding will cause each Satoshi to be engraved with different content. This content is the seed of the diversity of Bitcoin’s value.

@domodata refers to himself as an “experimenter.” He thanked everyone for loving the BRC-20 “experiment,” and also advised everyone not to waste a lot of money on Mint, Salute.

More and more “experimenters” are thinking about what they can do through the Ordinals Agreement, and they have something new every day. The Ordinals agreement is bringing the exploration of Bitcoin’s value diversity into a “minesweeping phase”…

Comparing the Ordinals Protocol to a game development tool, we only developed “minesweeper.” What will it look like later?

Disclaimer:

  1. This article is reprinted from [techflowpost]. All copyrights belong to the original author [Cookie,律动 BlockBeats]. If there are objections to this reprint, please contact the Gate Learn team, and they will handle it promptly.
  2. Liability Disclaimer: The views and opinions expressed in this article are solely those of the author and do not constitute any investment advice.
  3. Translations of the article into other languages are done by the Gate Learn team. Unless mentioned, copying, distributing, or plagiarizing the translated articles is prohibited.
Start Now
Sign up and get a
$100
Voucher!
Create Account