diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..80fa50c --- /dev/null +++ b/404.html @@ -0,0 +1,1069 @@ + + + +
+ + + + + + + + + + + + + + +Have a question that is not listed here? Let us know!
+ +This FAQ compiles questions that relate to Jam in particular. For things related +to JoinMarket in general, please refer to the JoinMarket documentation.
+Earning sats entails providing liquidity to other market participants. +Consequently, how much you can earn depends on multiple factors, market +conditions and liquidity size being two of them. In general, the more liquidity +you provide, the more you can earn. That being said, you are competing in an +open market, and because competition is global and only constraint by market +forces, the margin is usually thin.
+If your offers are not taken by market participants, your offer might be too +expensive. Check the order book and compare your offer to the +market price. If your offer is competitive and is still ignored, make sure to +create a Fidelity Bond, which signals that you are a serious market +participant and not a malicious entity.
+See also "a few words about incentives" from the JoinMarket +documentation.
+The amount of fees you have to pay depends on market and blockspace +conditions. They are dictated by supply and demand, both for collaborative +transactions and single user transactions.
+Market makers provide liquidity and set the fee they want to earn, +either in absolute or percentage terms. Market takers have to agree +to take these offers voluntarily. Check the orderbook to get an +up-to-date overview of the current fee market.
+In addition to these fees, you will have to pay mining fees for you and the makers. Mining fees depend +on how many transactions are currently in the mempool. Inspect your +mempool or use a public site like mempool.space to do a fee estimation.
+Hint
+It is recommended that you run your own mempool.space +instance on your full node.
+See also "a note on fees" from the JoinMarket documentation.
+The password is used for encrypting the wallet file. +It is not used as a passphrase that extends your mnemonic seed (also known as the 13th or 25th word). +Only the mnemonic seed is needed to recover your funds, e.g. when you restore your wallet on a different device.
+The following error can pop up in case JoinMarket didnt't shut down cleanly:
+wallet.jmdat cannot be created/opened, it is locked.
+
+Warning
+Make sure that you have written down your wallet seed before executing +any command
+You can resolve this by manually deleting the wallet .lock
file as explained
+in issue #173.
This can have multiple reasons. Tor or general network connection issues, +participants not responding in a timely manner, missing requirements to +source commitments (see the docs), period of slow +block production, unexpected increase of transaction fees, etc.
+For a better assessment, the following can be taken as a guideline:
+If an operation takes longer than that, then there might be a different issue. +See "Something else is/seems stuck" for more info.
+To participate in coinjoin(s) the wallet needs to be active (unlocked). +This does not require Jam to be open, as the unlocked wallet stays active after closing the browser.
+The rest of your setup needs to keep running and be online.
+This applies to both as a taker (Send/Sweep) and as a maker (Earn).
+If a single collaborative transaction takes hours, or if your +scheduled sweep already takes over three days, there might be a different +underlying problem.
+A general rule of thumb is: Any operation either succeeds or fails. +If an operation is aborted prematurely, there is no danger of loss of funds.
+All operations can be aborted by locking your wallet.
+Since Jam does not yet have a way to provide fine grained error information to users, +it is always a good idea to inspect the log files for warning and error messages.
+If you are running Jam with one of the supported integrations (RaspiBlitz, +Citadel, Umbrel, etc.) chances are you can view the logs inside the app +(See Settings > Show logs).
+If the option is not displayed, or if you run the standalone
docker image
+yourself, you can find all log files inside the container in directory
+/var/log/jam/
. See jmwalletd_stdout.log
or jmwalletd_stderr.log
for
+problems with Jam.
e.g. tail -n 200 -f /var/log/jam/jmwalletd_stdout.log
If you run JoinMarket natively, you can find the logs files inside the logs
+folder of JoinMarket's working directory (e.g. /home/<user>/.joinmarket/logs
)
e.g. tail -n 200 -f /home/user/.joinmarket/logs/jmwalletd_logs.log
This can have several reasons and basically means that the UI cannot reach the backend service. +Depending on your installation (native setup, docker images, +local/remote hosts, etc.), there are a number of things you should verify.
+Please make sure that:
+bitcoin-cli getblockchaininfo
+
+curl --insecure https://127.0.0.1:28183/api/v1/session
+
+Check the logs for any errors or warnings.
+If all the above fails, try restarting every service or do a complete node reboot.
+As a last resort, seek help in the support channel.
+It takes some time for your node to retrieve individual offers in the orderbook. +Similar to mempools, depending on your directory nodes and message channels, +not everyone sees the same offers and there is no "The Orderbook". +Wait a couple of time and refresh your local orderbook. +If you can't see your own offer after a few minutes, only then there may be a problem.
+Yes, importing an existing wallet can be done via the web interface since Jam v0.1.6
+using the button labeled "Import existing wallet" on the starting page.
+Make sure you are running JoinMarket v0.9.10
or later.
If you are running a JoinMarket version lower than v0.9.10
or if you are a command line maximalist, follow these steps:
ssh
(see an example for Umbrel below)wallet-tool.py
script. jmvenv/bin/activate # if virtual environment is enabled
+python3 scripts/wallet-tool.py recover --gap-limit=200 --recoversync
+
+root@821939a90a7c:/src# python3 scripts/wallet-tool.py recover --gap-limit=200 --recoversync
+User data location: /root/.joinmarket/
+Input mnemonic recovery phrase: zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo wrong
+Input mnemonic extension, leave blank if there isnt one:
+Enter new passphrase to encrypt wallet:
+Reenter new passphrase to encrypt wallet:
+Input wallet file name (default: wallet.jmdat): recover.jmdat
+Would you like this wallet to support fidelity bonds? write 'n' if you don't know what this is (y/n): y
+Write down this wallet recovery mnemonic
+
+zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo wrong
+
+Recovered wallet OK
+
+Here is an example of how you'd get into the Jam container on Umbrel:
+ssh umbrel@umbrel.local
docker exec -it jam_web_1 bash
cd /src
exit
(multiple times)For sending, all address types are supported. +For receiving, only bech32 (p2wpkh) addresses are used.
+Bumping an unconfirmed transaction currently has to be done manually and can only be done by using CPFP. +This means that you need 1 or more outputs of the transaction to be able to bump it.
+Bumping can be done with the following steps:
+Which fee rate to use to get confirmed in the desired timeframe has to be calculated manually.
+Warning
+Be aware of the privacy and/or additional cost trade-offs.
+BerkeleyDB (BDB) wallet creation was deprecated in Bitcoin Core v26.0. +This leads to issues for JoinMarket and thus also Jam. +The problem should be fixed once JoinMarket supports Bitcoin Core descriptor wallets.
+For now, the fix is to add deprecatedrpc=create_bdb
to your bitcoin.conf file.
Restart and then it should work as the new config is now active.
+Or use a lower version than Bitcoin Core v26.0.
+ + + + + + + + + + + + + +Jam is a graphical user interface for JoinMarket, and while obviously related, +is a separate project developed by a separate set of people.
+Jam is a free and open-source project that aims to improve the +financial privacy of yourself and others, without relying on a trusted third +party. It was started in 2021 by various volunteers and is still +developed and maintained on a volunteer basis. As mentioned above, Jam is a +front-end for JoinMarket, a privacy-focused bitcoin software that uses a +peer-to-peer marketplace to facilitate collaborative transactions.
+The goal of Jam is to provide an interface that makes JoinMarket easier to use, +and thus more easily accessible for more people.
+JoinMarket is a special kind of software that is aimed at improving the privacy +and fungibility of bitcoin transactions. The main way to improve privacy and +fungibility on-chain is via collaborative transactions.
+A collaborative transaction requires the coordination of multiple parties. The +right resources (UTXOs) have to be available in the right quantity +at the right time.
+Consequently, the problem that needs to be solved is not a technological +problem, but an economic problem. JoinMarket solves this problem not by central +coordination, but by creating a market that allows participants to allocate +these resources in the best way, according to their individual needs.
+The name "Jam" is a backronym, stands for JoinMarket's Awesome, Man, +and shouldn't be taken too seriously. However, it works on multiple levels +(Let's jam the signal!) and "cooking jam" is also a fun metaphor for mixing +something in a tasty way (and putting it in jars).
+We believe that, in the long run, open protocols will survive. Platforms, on the +other hand, are run by companies and all companies eventually go bankrupt.
+The motivation behind Jam (and JoinMarket—and Bitcoin, for that matter) is to +build something that doesn't go away.
+ + + + + + + + + + + + + + +{"use strict";/*!
+ * escape-html
+ * Copyright(c) 2012-2013 TJ Holowaychuk
+ * Copyright(c) 2015 Andreas Lubbe
+ * Copyright(c) 2015 Tiancheng "Timothy" Gu
+ * MIT Licensed
+ */var Va=/["'&<>]/;qn.exports=za;function za(e){var t=""+e,r=Va.exec(t);if(!r)return t;var o,n="",i=0,a=0;for(i=r.index;i