github decred/decred-binaries v0.1.2

2016-05-03

This release contains updated binary files (dcrd, dcrctl, dcrwallet)
for various platforms and is primarily a bugfix for dcrwallet.

See manifest-20160503-01.txt for sha256sums of the packages and
manifest-201600503-01.txt.asc to confirm those shas.

See https://wiki.decred.org/Verifying_Binaries for more info on
verifying the files.

This release contains various fixes and improvements.

Changes include:

Description Pull Request
Fix mempool fees variables decred/dcrd#141
Add GetStakeDifficultyResult to dcrjson so getstakedifficulty command can return more decred/dcrd#137
Remove magic number and add const maxRelayFeeMultiplier decred/dcrd#139
Add estimatestakediff RPC command decred/dcrd#143
Add ticketvwap and txfeeinfo RPC server commands decred/dcrd#145
fix sample config per issue 116 decred/dcrd#147
Add stakepooluserinfo and addticket RPC handling decred/dcrd#144
Cherry pick btcd commit that moves some functions to policy.go decred/dcrd#140
Add the constructor for AddTicketCmd decred/dcrd#148
Bump for v0.1.2 decred/dcrd#150
Fix lockup relating to channel blocking decred/dcrwallet#219
Add stake pool mode to the wallet decred/dcrwallet#192
Make purchaseticket return the correct error decred/dcrwallet#224
Add wallet flag for allowhighfees decred/dcrwallet#214
Bump for v0.1.2 decred/dcrwallet#225
Add RPC client pass throughs for new daemon and wallet commands decred/dcrrpcclient#16

Notes

Added stake pool fee functionality:

We have added new config flags for dcrwallet. Let's go over each
option to make crystal clear its usage:

stakepoolcoldextkey

When this option is set it turns on stake pool functionality for
wallet. When stake pool is enabled for wallet, there are a series of
transaction checks to verify whether this wallet will vote for a
ticket that has used this stake pool's address as the ticketaddress.

This option requires the extended public key of the stake pool's cold
wallet that will receive the pool's fees. So on simnet for instance
this option looks like this:

--stakepoolcoldextkey=spubVWAdividNTiSM9SdLRA5JX6LYNwt58cd51TFnpnULGQ8oqNMNskfkQwU7rjWMCY7phBguVr4XTmAWyDVRKpo2dFyjFb6QG4ihB8w64UPNuu:1000

The first portion (spub..., or dpub... on mainnet) is the extended
public key and the second (1000) is the number of addresses to
derive. Every user of the pool gets their own cold fee wallet address
derived, so we recommend using at least 1000 in anticipation of the
relative number of users in the stake pool.

When a vote is created by the stake pool to vote on a ticket that has
been given voting rights, it pays the pool fee to the address derived
for the cold wallet from this extended public key.

pooladdress

This is for use by the stake pool user. It will be an address
provided to the user by the stake pool. If set, this address is used
during ticket purchase and will commit to a small output in the ticket
that gives the stake pool its required fees.

ticketaddress

Same as the old option. This is the address that the stake pool user
is giving the ticket's voting rights to.

poolfees

This is the required ticket fee as requested by the stake pool. The
value set by the user needs to be greater than or equal to that of the
pool. The fee is a percentage based fee, based on the stake subsidy.
Here is a concrete example from simnet:

The ticket price of this ticket was 46.0551008, and the ticket relay
fees were 0.00000100 per kB. The pool fees were set to 1.00%. The
subsidy on simnet at this block height is approximately 29.40888 Coins
per vote. This is the ticket as purchased by the user:

"vin": [
    ... ,
],
"vout": [
    {
        "value": 46.0551008,
        "n": 0,
        "version": 0,
        "scriptPubKey": {
            ... ,
            "reqSigs": 1,
            "type": "stakesubmission",
            "addresses": [
                "SsYZMHeeixdNRTkk6afzHBPL4unYDsFNd4r"
            ]
        }
    },
    {
        "value": 0,
        "n": 1,
        "version": 0,
        "scriptPubKey": {
            ... ,
            "type": "sstxcommitment",
            "addresses": [
                "Ssghjx8PvQVV3FM3w5FcGi9kWGvDpDkQDTV"
            ],
            "commitamt": 0.17948021
        }
    },
    {
        ... ,
    },
    {
        "value": 0,
        "n": 3,
        "version": 0,
        "scriptPubKey": {
            ... ,
            "type": "sstxcommitment",
            "addresses": [
                "SsYUi5tbXfqHnTPgvHcajNW4yiGeSP6n7Xq"
            ],
            "commitamt": 45.87562609
        }
    },
    {
        ... ,
    }
],

And here's the vote that the stake pool created for that user's
ticket:

"vin": [
    {
        ... ,
    },
    {
        ... ,
    }
],
"vout": [
    {
        ... ,
    },
    {
        ... ,
    },
    {
    "value": 0.2940888,
    "n": 2,
    "version": 0,
        "scriptPubKey": {
            ... ,
            "type": "stakegen",
            "addresses": [
                "Ssghjx8PvQVV3FM3w5FcGi9kWGvDpDkQDTV"
            ]
        }
    },
    {
        "value": 75.16989347,
        "n": 3,
        "version": 0,
        "scriptPubKey": {
            ... ,
            "type": "stakegen",
            "addresses": [
                "SsYUi5tbXfqHnTPgvHcajNW4yiGeSP6n7Xq"
            ]
        }
    }
]

As you can see '"n": 2,', the third output, is the stake pool fee
of 0.2940888. This is 1% of the vote reward at that point
(0.2940888/29.40888). The remaining subsidy and the original coins are
returned to the take pool user in output '"n": 3,'. For more
information about stake fees, please refer to
dcrwallet/wallet/txrules/doc.go.

Commits

This release was built from:

Repository Commit Hash
decred/dcrd f93cb9fd9fd7b471481e4cfb122186514f84e879
decred/dcrwallet e545bec0a3a1a3b8380224d12c9ede85bff58595
decred/dcrrpcclient a5a51f5ca4f0038e475239cfe3c635a21fd28111
decred/dcrutil 74563ea520b1215b9c10f96507b7a9984894c0b5
google.golang.org/grpc b062a3c003c22bfef58fa99d689e6a892b408f9d
latest releases: v1.6.3, v1.6.2, v1.6.1...
5 years ago