diff --git a/docs/liquid/liquid-part1.md b/docs/liquid/liquid-part1.md index 0147d31..33e5919 100644 --- a/docs/liquid/liquid-part1.md +++ b/docs/liquid/liquid-part1.md @@ -63,13 +63,13 @@ These new opcodes have several use cases, including double-spent protection bond Liquid uses a variation of BTC Core program known as Elements, much of the setup and use are very similar to bitcoin. Please note that Elements **requires a fully functioning bitcoind daemon is available** (it is a sidechain, after all). Thus for this demonstration, I am using my Umbrel since it makes installing Bitcoin and Elements quite simple. -*If you are intending to run Liquid on a bare-metal setup, please refer to this [getting started guide](https://elementsproject.org/elements-code-tutorial/working-environment) to setup your environment* +*If you are intending to run Liquid on a bare-metal setup, please refer to this [getting started guide](https://elementsproject.org/elements-code-tutorial/working-environment) to setup your environment. Setting up a core-bitcoin install is outside the scope of this DeepDive* ### Running Elements on Umbrel * Meet requirements (1TB disk for BTC / 25GB disk for Liquid / >8GB RAM[^1]) * Install Bitcoin 'App' -... Go take a several day break while it downloads ... +... Go take a week+ break while it downloads ... * Install Elements 'App' ... Go take a several hour break while it downloads ... @@ -92,6 +92,22 @@ Liquid uses a variation of BTC Core program known as Elements, much of the setup * Check balance info - `$ /elements/bin/elements-cli -rpcuser=$E_RPCUSER -rpcpassword=$E_RPCPASS getwalletinfo` +Now let's peg-in some bitcoin in order to receive L-BTC within our Liquid wallet. (*NOTE: There are online services that automate this entire process and make it much simpler. In general services like [Sideswap](https://sideswap.io/peg-in-out/) makke this process much easier*) + +* Generate a new peg-in address + - `$ /elements/bin/elements-cli -rpcuser=$E_RPCUSER -rpcpassword=$E_RPCPASS getpeginaddress` + + { + "mainchain_address": "bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "claim_script": "001489b0XXXXXXXXXXXXXXXXXXXXXXXXX" + } + +* Save the `claim_script` above in a variable for use later + - `$ export E_CLAIMSCR="001489b0XXXXXXXXXXXXXXXXXXXXXXXXX"` +* Send some btc to the `mainchain_address` listed above (I'm sending 150000 sats) +* Copy the BTC transaction ID and save to variable + - `$ export B_TRANSID="bb1d0903XXXXXXXXXXXXXXXXXXXXXXXXXXX"` +* Wait for the BTC transaction to confirm (documents say must confirm for 102 confs) Footnotes: