61 lines
3.0 KiB
Markdown
61 lines
3.0 KiB
Markdown
# DeepDive into Liquid: Part II - Asset Creation and Configuration
|
|
|
|
This is a multipart DeepDive that will focus on the Liquid Sidechain. It will be released in 3 Parts:
|
|
|
|
* [Part I](https://stacker.news/items/399400): Overview, Installation, and first Peg-In
|
|
* Part II (this): Asset Creation and Configuration
|
|
* Part III: Advanced Topics and Peg-out
|
|
|
|
## Assets
|
|
|
|
In Part I, we succesfully Pegged-In our BTC and received L-BTC, now lets use that L-BTC to do some interesting things with Asset Issuance:
|
|
|
|
* Let's begin by checking out these 2 commands[^1]:
|
|
- `$ sudo ./scripts/app compose elements exec node elements-cli -rpcuser=$E_RPCUSER -rpcpassword=$E_RPCPASS getwalletinfo`
|
|
|
|
"balance": {"bitcoin": 0.00149155}
|
|
|
|
- `$ sudo ./scripts/app compose elements exec node elements-cli -rpcuser=$E_RPCUSER -rpcpassword=$E_RPCPASS dumpassetlabels`
|
|
|
|
{"bitcoin": "6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d"}
|
|
|
|
This is telling us that `bitcoin` is a label for an asset that has the UUID of `6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d`. Everything in Liquid is an 'Asset' (including L-BTC) and each of these Assets can have different features, issuance, and restrictions.
|
|
|
|
Looking up this value on [https://blockstream.info/liquid/assets](https://blockstream.info/liquid/asset/6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d) we can see info about it like its ticker, name, and circulating supply:
|
|
|
|

|
|
|
|
### Issuing our own Asset
|
|
|
|
* Issuing our own asset is straight-forward, as its a single line command in the client. Let's issue 10 new tokens and set the supply to be fixed (no re-issuance)
|
|
- `$ sudo ./scripts/app compose elements exec node elements-cli -rpcuser=$E_RPCUSER -rpcpassword=$E_RPCPASS issueasset 10 0`
|
|
|
|
{
|
|
"txid": dd3983619f67e7a743ccfd32e48bbdb591c1d44b86a71d442be95a2453c0479a,
|
|
"vin": 0,
|
|
"entropy": cd3d7319525b28b6500d0a0b4688d91392ba8192be9bc264ec9637a001907322,
|
|
"asset": 1e69f87952c26b8dfc80dda0427041a0279a0723ea12086b88b75752545e0d22,
|
|
"token": 2dc5fb795fd42e08adb9dd29b5ff14f4326ecd8443e1cdc31dc6666d7576ff89
|
|
}
|
|
|
|
* Lets set that to a variable for use later
|
|
- `$ export ISSUE='{"txid": dd3983619f67e7a743ccfd32e48bbdb591c1d44b86a71d442be95a2453c0479a,
|
|
"vin": 0,
|
|
"entropy": cd3d7319525b28b6500d0a0b4688d91392ba8192be9bc264ec9637a001907322,
|
|
"asset": 1e69f87952c26b8dfc80dda0427041a0279a0723ea12086b88b75752545e0d22,
|
|
"token": 2dc5fb795fd42e08adb9dd29b5ff14f4326ecd8443e1cdc31dc6666d7576ff89
|
|
}'
|
|
|
|
* Now we can utilize individual entries (using `jq` utility):
|
|
- `$ echo $ISSUE | jq .asset`
|
|
|
|
"1e69f87952c26b8dfc80dda0427041a0279a0723ea12086b88b75752545e0d22"
|
|
|
|
* Checking out our wallet we see:
|
|
- `$ sudo ./scripts/app compose elements exec node elements-cli -rpcuser=$E_RPCUSER -rpcpassword=$E_RPCPASS getwalletinfo`
|
|
|
|
"balance": {"1e69f87952c26b8dfc80dda0427041a0279a0723ea12086b88b75752545e0d22": 10.00000000,"bitcoin": 0.00148701}
|
|
|
|
|
|
[^1]: The values E_RPCUSER and E_RPCPASS, where environmental variables we set in Part I
|