Skip to content
This repository has been archived by the owner on May 13, 2022. It is now read-only.

Commit

Permalink
release 0.2.3
Browse files Browse the repository at this point in the history
  • Loading branch information
chris-belcher committed Apr 15, 2017
1 parent 887fa6c commit 8c2b6d8
Show file tree
Hide file tree
Showing 2 changed files with 104 additions and 7 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Go to [wiki](https://github.com/JoinMarket-Org/joinmarket/wiki) to get started,
## Installation

##### A NOTE ON UPDATING FROM PRE-0.2 VERSIONS
The installation is slightly changed, with the secp256k1 python binding no longer being optional, and libnacl now being installed via pip, not locally. The short version is: do follow the below process, for example the secp256k1 binding must be the latest version else you'll get errors. Of course if you already have libsodium you don't need to re-install it. Be sure to read the [release notes](https://github.com/JoinMarket-Org/joinmarket/blob/develop/doc/release-notes-0.2.2.md).
The installation is slightly changed, with the secp256k1 python binding no longer being optional, and libnacl now being installed via pip, not locally. The short version is: do follow the below process, for example the secp256k1 binding must be the latest version else you'll get errors. Of course if you already have libsodium you don't need to re-install it. Be sure to read the [release notes](https://github.com/JoinMarket-Org/joinmarket/blob/develop/doc/release-notes-0.2.3.md).

##### REQUIRED INSTALLATION DEPENDENCIES (for Linux)

Expand Down Expand Up @@ -62,9 +62,9 @@ The installation is slightly changed, with the secp256k1 python binding no longe
### DEBIAN / UBUNTU QUICK INSTALL FOR USERS:
1. `sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get install python-dev libsodium-dev python-pip -y`
2. Download JoinMarket 0.2.2 source from the [releases page](https://github.com/joinmarket-org/joinmarket/releases/tag/v0.2.2) or [this direct link to v0.2.2](https://github.com/JoinMarket-Org/joinmarket/archive/v0.2.2.tar.gz):
`wget https://github.com/JoinMarket-Org/joinmarket/archive/v0.2.2.tar.gz -O joinmarket-0.2.2.tar.gz`
3. Extract with `tar xzf joinmarket-0.2.2.tar.gz` and then `cd joinmarket-0.2.2`
2. Download JoinMarket 0.2.3 source from the [releases page](https://github.com/joinmarket-org/joinmarket/releases/tag/v0.2.3) or [this direct link to v0.2.3](https://github.com/JoinMarket-Org/joinmarket/archive/v0.2.3.tar.gz):
`wget https://github.com/JoinMarket-Org/joinmarket/archive/v0.2.3.tar.gz -O joinmarket-0.2.3.tar.gz`
3. Extract with `tar xzf joinmarket-0.2.3.tar.gz` and then `cd joinmarket-0.2.3`
4. `sudo pip install -r requirements.txt`
5. Generating your first wallet (`python wallet-tool.py generate`) will populate the configuration file: `joinmarket.cfg`.
Check if the default settings suit your needs.
Expand All @@ -75,9 +75,9 @@ Tested up to TAILS version 2.6, but future versions likely will work as well.
1. Make sure that you choose 'more options' when booting up tails and set an administrator password.
2. `sudo apt-get update -y`
3. `sudo apt-get install build-essential automake libtool pkg-config libffi-dev python-dev python libsodium-dev python-pip -y`
4. Download JoinMarket 0.2.2 source from the [releases page](https://github.com/joinmarket-org/joinmarket/releases/tag/v0.2.2) or [this direct link to v0.2.2](https://github.com/JoinMarket-Org/joinmarket/archive/v0.2.2.tar.gz):
`wget https://github.com/JoinMarket-Org/joinmarket/archive/v0.2.2.tar.gz -O joinmarket-0.2.2.tar.gz`
5. Extract with `tar xzf joinmarket-0.2.2.tar.gz` and then `cd joinmarket-0.2.2`
4. Download JoinMarket 0.2.3 source from the [releases page](https://github.com/joinmarket-org/joinmarket/releases/tag/v0.2.3) or [this direct link to v0.2.3](https://github.com/JoinMarket-Org/joinmarket/archive/v0.2.3.tar.gz):
`wget https://github.com/JoinMarket-Org/joinmarket/archive/v0.2.3.tar.gz -O joinmarket-0.2.3.tar.gz`
5. Extract with `tar xzf joinmarket-0.2.3.tar.gz` and then `cd joinmarket-0.2.3`
6. `sudo torsocks pip install -r requirements.txt`
7. `sudo chmod -R ugo+rX /usr/local/lib/python2.7/dist-packages/`
8. `sudo cp -r /usr/local/lib/python2.7/dist-packages/libnacl .`
Expand Down
97 changes: 97 additions & 0 deletions doc/release-notes-0.2.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
JoinMarket 0.2.3:
=================

<https://github.com/joinmarket-org/joinmarket/releases/tag/v0.2.3>

This is a minor release to fix some bugs and add some features.

Please report bugs using the issue tracker at github:

<https://github.com/joinmarket-org/joinmarket/issues>

Upgrading and downgrading
=========================

For users already running version 0.2.x it is only required to update the Joinmarket code, i.e. either `git pull` or download the zip from the release link above.

Users updating from a version pre-0.2.0 **must** carefully follow the instructions for updating in the [previous release notes](https://github.com/JoinMarket-Org/joinmarket/blob/master/doc/release-notes-0.2.0.md)

Notable changes
===============

### Tor Broadcast Method

Right now on the bitcoin network, there are an unknown number of sybil nodes which aggressively announce themselves in an effort to attract more people to connect to them. Then they spy on every newly-broadcasted transaction, tracking it as it propagates through the p2p network and giving them a good idea of the IP address that originally broadcasted that transaction.

This new feature connects to a random node on the bitcoin p2p over tor, pushes it's unconfirmed transaction, then disconnects. This should stop the spying method described. It's activated by configuring `tx_broadcast = tor` in the `joinmarket.cfg` file. Also set `socks5_host` and `socks5_port` to tell JoinMarket where to find Tor.

The code uses the user-agent of `/JoinMarket:0.2.3/` so archival full node operators may want to look out for it.

### Electrum and bc.i Blockchain Interface

JoinMarket can now obtain blockchain information to synchronize it's wallet from two new sources: Electrum servers and the blockchain.info API. To configure them set `blockchain_source = electrum` or `blockchain_source = bc.i` in the `joinmarket.cfg` file.

Note that they work somewhat slowly, are not very robust and are very bad for privacy because the server can see exactly what bitcoin addresses belong to you. These interfaces also can't be used with testnet (which contributes to their low robustness).

As always, the best solution right now for privacy and security is to tell JoinMarket to connect to your own full node.

### Transaction Fees

Users can now choose the fee rate they want to use for paying miner fees. In `joinmarket.cfg` set `tx_fees = N` where `N` is the target number of blocks to confirm within if less than 144. If `N` is set to higher than 144 then that is the fee-per-kilobyte to use.

The previous value of 150 sat/b was seen to be absurd in early 2015 when it was set, however the changing market for block space made this value the reality. The default `absurd_fee_per_kb` value is therefore set to 2000 satoshi-per-byte and JoinMarket will shut down if the `estimatefee` function returns a higher value.

### Scripting

Some changes were made to make it easier to use JoinMarket for scripting.

It's now possible to have a wallet password be an empty string, and JoinMarket won't prompt for a password if so.

Private keys can also now be imported without interactivity, see the guide on the wiki page [here](https://github.com/JoinMarket-Org/joinmarket/wiki/Using-the-JoinMarket-internal-wallet#importing-non-interactively)

### Fixing Scripts

JoinMarket version 0.2.0 changed the protocol which broke some scripts. All scripts are now updated to work and their wiki pages updated.

[patientsendpayment.py guide](https://github.com/JoinMarket-Org/joinmarket/wiki/Sending-payments-with-CoinJoin#patient-send-payment)

[create-unsigned-tx.py guide](https://github.com/JoinMarket-Org/joinmarket/wiki/Spending-from-cold-storage,-P2SH-or-other-exotic-inputs-with-CoinJoin)


0.2.3 Change log
================

- `915eedb` Add total profit to history command in wallet-tool
- `fa50da9` Enhance showutxos
- `9470bd8` Add ability to change encryption password of wallet.json
- `5e4d021` Increments default walletname when wallet already exists
- `fddcecc` Change user agent to Firefox ESR for improved privacy
- `dae58c8` Improve wallet tool help format
- `44b90fc` avoid re-importing already imported addesses to bitcoind
- `ce23bc7` lock db access from taker scripts to avoid cursor exceptions
- `f0f84a6` fix for minsize > maxsize AssertionError in yield generators
- `0253649` fix title formatting
- `064e31e` Add "extend_mixdepth=True" to yieldgen

Credits
=======

Thanks to everyone who directly contributed to this release -

- @AdamISZ
- @adlai
- @AlexCato
- @anduck
- @chris-belcher
- @eduard6
- @Empty2k12
- @instagibbs
- @juscamarena
- @meeDamian
- @nopara73
- Peter Banik
- @undeath
- @wozz
- @WyseNynja

And thanks also to those who submitted bug reports, tested and otherwise helped out.

0 comments on commit 8c2b6d8

Please sign in to comment.