Closed D4nte closed 5 years ago
PoC: https://github.com/comit-network/comit-rs/pull/757
alice_address
: address that owns the OmniToken, this is where Alice will receive BTC (tech limitation)bob_address
: address that owns BTC, will be used for BTC changebob_address2
: "final" address for Bob, this is where Omni Token will be sentalice_address
(ordering matters, this must be the first input)bob_address
bob_address
(must be present in inputs to not have Omni Tokens transferred to)alice_address
(must be present in inputs to not have Omni Tokens transferred to)bob_address2
(new address where Omni Token are sent)Bitcoind enforces that spendable UTXO have enough value to be spent. If it's under this value then it is what we commonly call dust
. In bitcoind, it's actually defined in term of dustRelayFee
and it is set by default to 3000 satoshis-per-kilobytes`.
For normal transaction, the minimum value is 546sat. 294sat for segwit.
However, in regtest and testnet, dust is ignored! This is due to the fact that -acceptnonstdtxn
is activated by default on these chains.
This can be deactivated via -acceptnonstdtxn=0
.
Finally, this is only for spendable UTXO. As OP_RETURN
UTXOs are not spendable, they do not need dust.
See:
All PoC are now demonstrated in #772
What we learned is that by adding omnilayer payload in an OP_RETURN
output it is possible to lock omnilayer tokens in an HTLC (P2SH or P2SH(P2WSH)) and then redeem them to a normal P2PKH.
What we can also ponder is that I chose to use our testing suite and bitcoinjs-lib to proceed with this PoC as I thought that updating comit-rs and bsieve would be too much overhead. However, we created COMIT exactly for this kind of experience so maybe (next time?) we need to do our PoC in COMIT and discover/remove all obstacle that makes such work hard (e.g., being able to not have to override bsieve for a PoC?)
What we can also ponder is that I chose to use our testing suite and bitcoinjs-lib to proceed with this PoC as I thought that updating comit-rs and bsieve would be too much overhead. However, we created COMIT exactly for this kind of experience so maybe (next time?) we need to do our PoC in COMIT and discover/remove all obstacle that makes such work hard (e.g., being able to not have to override bsieve for a PoC?)
I think it would be good to have a brainstorming/discussion session (can you organize one please @D4nte?) about this where you (@D4nte) can first present your approach for this PoC and we can then discuss possibilities of how we can change COMIT to make this easier.
What we can also ponder is that I chose to use our testing suite and bitcoinjs-lib to proceed with this PoC as I thought that updating comit-rs and bsieve would be too much overhead. However, we created COMIT exactly for this kind of experience so maybe (next time?) we need to do our PoC in COMIT and discover/remove all obstacle that makes such work hard (e.g., being able to not have to override bsieve for a PoC?)
I think it would be good to have a brainstorming/discussion session (can you organize one please @D4nte?) about this where you (@D4nte) can first present your approach for this PoC and we can then discuss possibilities of how we can change COMIT to make this easier.
Booked for 27 Feb.
After discussion, we will open 2 RFCs:
Follow-up of #666. See notes
We need to understand whether Omnilayer wallets[1][2] recognise transfer of ownership through bitcoin scripts (HTLC) or through multi-input transactions.
DoD:
Child of #663 Blocked by #724 [1]https://www.omniwallet.org/ [2]https://github.com/OmniLayer/omnicore