So I've learned how to make erc 20 tokens using solidity on the ethereum blockchain and move them around with metamask.
Is there a similar process for making bitcoin tokens and moving those around with a wallet like metamask?
Is there a similar process for making bitcoin tokens
Example: BSQ used in Bisq DAO and DEX
https://github.com/OmniLayer/spec/blob/master/OmniSpecification-v0.6.adoc#smart-property
https://counterparty.io/docs/create_token/
There might be few other projects that allowed tokens to be created in which on-chain Bitcoin transactions were required. This does not scale and there was never a standard like ERC20 on Bitcoin. Users and developers realized it's better if we do this stuff using layer 2 or off-chain.
There are 3 projects that are mostly used for layer 2 in Bitcoin: Lightning Network, Liquid Sidechain and Rootstock sidechain.
There are no standards or BOLT to create tokens on LN right now. I had discussed this on LN dev mailing list few days back: https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-October/003305.html
However, multiple projects are working to make this possible including Omni BOLT, RGB and Synonym. Submarine swaps are already possible so issuing assets would make things better.
Issuing assets on Liquid is possible using issueasset
RPC. It's very easy and everything works similar to Bitcoin Core in Elements Core. You can read more about it here: https://help.blockstream.com/hc/en-us/articles/900005127583-How-do-I-issue-an-asset-on-Liquid-
Creating tokens on Rootstock sidechain is similar to Ethereum. You can even port ERC20 to Rootstock:
and moving those around with a wallet like metamask?
Metamask is mainly used because it has a browser extension/add-on. There are different open source wallets for Bitcoin, LN and Bitcoin sidechains. I don't consider browser extensions to be secure way of doing transactions however you can use the below wallets in browser:
Lightning | Liquid | Rootstock |
---|---|---|
lightning-browser-extension | Marina | Liquality |
Joule | Metamask |