diff --git a/docs/TapTrade_obs/.obsidian/workspace.json b/docs/TapTrade_obs/.obsidian/workspace.json
index 317d452..9b2399e 100644
--- a/docs/TapTrade_obs/.obsidian/workspace.json
+++ b/docs/TapTrade_obs/.obsidian/workspace.json
@@ -1,18 +1,22 @@
{
"main": {
- "id": "80a386d23cb49933",
+ "id": "76683aed2c650663",
"type": "split",
"children": [
{
- "id": "c01e7ef9b6783479",
+ "id": "beaad7e2dbdb6c54",
"type": "tabs",
"children": [
{
- "id": "117cb3f7c46e67c9",
+ "id": "1982ff791d557542",
"type": "leaf",
"state": {
- "type": "empty",
- "state": {}
+ "type": "markdown",
+ "state": {
+ "file": "Research/Implementation/Libraries.md",
+ "mode": "source",
+ "source": false
+ }
}
}
]
@@ -21,15 +25,15 @@
"direction": "vertical"
},
"left": {
- "id": "e6a26e5c5b019a1e",
+ "id": "1f18a06ed3171922",
"type": "split",
"children": [
{
- "id": "3f3159116396a08c",
+ "id": "11e472dd0e54a674",
"type": "tabs",
"children": [
{
- "id": "35cfcb845e434840",
+ "id": "6f7c037acc5d6b50",
"type": "leaf",
"state": {
"type": "file-explorer",
@@ -39,7 +43,7 @@
}
},
{
- "id": "0e07985fb8283f1e",
+ "id": "5dec62ac9c33787e",
"type": "leaf",
"state": {
"type": "search",
@@ -54,7 +58,7 @@
}
},
{
- "id": "738df028c16ab1b9",
+ "id": "573dc2630a59cc16",
"type": "leaf",
"state": {
"type": "bookmarks",
@@ -65,22 +69,23 @@
}
],
"direction": "horizontal",
- "width": 329.5
+ "width": 300
},
"right": {
- "id": "5f13d93e126071cf",
+ "id": "218b4a302bff5924",
"type": "split",
"children": [
{
- "id": "985598abe7b3b823",
+ "id": "a083e155ae31f912",
"type": "tabs",
"children": [
{
- "id": "dc77dc1e126c6c92",
+ "id": "16a07ffa6259c80e",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
+ "file": "Research/Implementation/Libraries.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
@@ -92,18 +97,19 @@
}
},
{
- "id": "1cfcab3d82b07a15",
+ "id": "10c5e5ed647927e5",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
+ "file": "Research/Implementation/Libraries.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
}
},
{
- "id": "d24ff84f08dd4825",
+ "id": "51b24aa8f245d50e",
"type": "leaf",
"state": {
"type": "tag",
@@ -114,11 +120,13 @@
}
},
{
- "id": "623d6cb84168c727",
+ "id": "839ebdb69d764b83",
"type": "leaf",
"state": {
"type": "outline",
- "state": {}
+ "state": {
+ "file": "Research/Implementation/Libraries.md"
+ }
}
}
]
@@ -132,45 +140,12 @@
"hiddenItems": {
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
- "daily-notes:Open today's daily note": false,
"canvas:Create new canvas": false,
+ "daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false
}
},
- "active": "117cb3f7c46e67c9",
- "lastOpenFiles": [
- "Research/Trade Pipelines/new concepts/random pipeline 1 tbd.canvas",
- "Research/Trade Pipelines/current trade flow.canvas",
- "Research/Bitcoin fundamentals/Knowledge sources.md",
- "Research/Bitcoin fundamentals/Signature and Flags.canvas",
- "Research/Implementation/Libraries.md",
- "Research/Trade Pipelines/Existing research.md",
- "signet-instance.md",
- "Research/Trade Pipelines/new concepts/Untitled.md",
- "Research/Trade Pipelines/new concepts",
- "Research/Bitcoin fundamentals/Taproot output structure.canvas",
- "assets/anyonecanpay.webp",
- "Research/Bitcoin fundamentals/Spending Taproot UTXOs.md",
- "Research/Implementation/UI ideas.canvas",
- "assets/sighash_flags.webp",
- "assets/DER_encoded_signature.webp",
- "assets",
- "assets/onchain_lightning_switch_screenshot.png",
- "assets/advanced_trade_mode_switch.png",
- "Research/Implementation/Untitled.md",
- "Project Timeline.md",
- "2024-05-08.md",
- "Obsidian How-To.md",
- "Research/Bitcoin fundamentals/Miniscript.md",
- "Research/Bitcoin fundamentals",
- "Research/Trade Pipelines",
- "Research/Implementation",
- "Research/Untitled.md",
- "Research/Bitcoin&Taproot",
- "Research",
- "Welcome.md",
- "note.md",
- "Ctrl+N.md"
- ]
+ "active": "1982ff791d557542",
+ "lastOpenFiles": []
}
\ No newline at end of file
diff --git a/docs/TapTrade_obs/Research/Bitcoin fundamentals/Knowledge sources.md b/docs/TapTrade_obs/Research/Bitcoin fundamentals/Knowledge sources.md
index b2e1c57..165ed54 100644
--- a/docs/TapTrade_obs/Research/Bitcoin fundamentals/Knowledge sources.md
+++ b/docs/TapTrade_obs/Research/Bitcoin fundamentals/Knowledge sources.md
@@ -34,6 +34,8 @@ We can use Descriptors/Miniscript to precisely and human readable describe the T
#### Websites
* [Miniscript introduction/compiler/specification](https://bitcoin.sipa.be/miniscript/)
+* [https://bitcoinops.org/en/preparing-for-taproot/#taproot-descriptors](https://bitcoinops.org/en/preparing-for-taproot/#taproot-descriptors)
+
### Signature/Pubkey aggregation
@@ -58,3 +60,20 @@ It's possible to construct a transaction with multiple inputs/outputs from diffe
[Blog article on Sighashes - good examples - Raghav Sood](https://raghavsood.com/blog/2018/06/10/bitcoin-signature-types-sighash)
[Signature Hash Flags Medium Article - enigbe ochekliye](https://enigbe.medium.com/signature-hash-flags-f059d035ddd0)
+
+
+
+### How to make taproot transactions? (Example transactions)
+
+
+
+https://github.com/danielabrozzoni/multisigs_and_carrots (Best Example I could find)
+
+https://bitcoindevkit.org/blog/2021/11/first-bdk-taproot-tx-look-at-the-code-part-1/ (Interesting read)
+
+https://github.com/bitcoin-core/btcdeb/blob/master/doc/tapscript-example-with-tap.md (Good code for spending taproot transactions)
+
+https://dev.to/eunovo/a-guide-to-creating-taproot-scripts-with-bitcoinjs-lib-4oph (Can look at this, this uses bitcoinjs-lib to create taproot scripts)
+
+
+
diff --git a/docs/TapTrade_obs/Research/Implementation/Libraries.md b/docs/TapTrade_obs/Research/Implementation/Libraries.md
index 06ced03..4a161d2 100644
--- a/docs/TapTrade_obs/Research/Implementation/Libraries.md
+++ b/docs/TapTrade_obs/Research/Implementation/Libraries.md
@@ -21,4 +21,15 @@ MuSig2 allows groups of mutually distrusting parties to cooperatively sign data
## [frost crate](https://github.com/ZcashFoundation/frost)
This should work with bitcoin as it supports secp256k1.
-IIUC frost supports schnorr treshold signatures, unlike N-of-N in MuSig2, Frost can do M-of-N.
\ No newline at end of file
+IIUC frost supports schnorr treshold signatures, unlike N-of-N in MuSig2, Frost can do M-of-N.
+
+
+## [bitcoinjs-lib](https://github.com/bitcoinjs/bitcoinjs-lib?tab=readme-ov-file)
+
+
+
+A javascript Bitcoin library for node.js and browsers. Written in TypeScript, but committing the JS files to verify.
+
+
+
+Can look at this library. Example taproot spending using bitcoinjs-lib: https://github.com/bitcoinjs/bitcoinjs-lib/blob/master/test/integration/taproot.spec.ts
\ No newline at end of file