{"action":"created","issue":{"url":"https://api.github.com/repos/gridcoin-community/Gridcoin-Research/issues/1244","repository_url":"https://api.github.com/repos/gridcoin-community/Gridcoin-Research","labels_url":"https://api.github.com/repos/gridcoin-community/Gridcoin-Research/issues/1244/labels{/name}","comments_url":"https://api.github.com/repos/gridcoin-community/Gridcoin-Research/issues/1244/comments","events_url":"https://api.github.com/repos/gridcoin-community/Gridcoin-Research/issues/1244/events","html_url":"https://github.com/gridcoin-community/Gridcoin-Research/pull/1244","id":347544678,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA2MTQ1NTk0","number":1244,"title":"Automatic stake UTXO splitting to optimize staking efficiency","user":{"login":"jamescowens","id":7529186,"node_id":"MDQ6VXNlcjc1MjkxODY=","avatar_url":"https://avatars0.githubusercontent.com/u/7529186?v=4","gravatar_id":"","url":"https://api.github.com/users/jamescowens","html_url":"https://github.com/jamescowens","followers_url":"https://api.github.com/users/jamescowens/followers","following_url":"https://api.github.com/users/jamescowens/following{/other_user}","gists_url":"https://api.github.com/users/jamescowens/gists{/gist_id}","starred_url":"https://api.github.com/users/jamescowens/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamescowens/subscriptions","organizations_url":"https://api.github.com/users/jamescowens/orgs","repos_url":"https://api.github.com/users/jamescowens/repos","events_url":"https://api.github.com/users/jamescowens/events{/privacy}","received_events_url":"https://api.github.com/users/jamescowens/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2018-08-03T21:43:08Z","updated_at":"2018-08-06T22:15:40Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/gridcoin-community/Gridcoin-Research/pulls/1244","html_url":"https://github.com/gridcoin-community/Gridcoin-Research/pull/1244","diff_url":"https://github.com/gridcoin-community/Gridcoin-Research/pull/1244.diff","patch_url":"https://github.com/gridcoin-community/Gridcoin-Research/pull/1244.patch"},"body":"This PR implements three conf file parameters:\r\n\r\nenablestakeutxooptimization\r\nstakingefficiency\r\nminimumstakeutxovalueforsplit\r\n\r\nEnablestakeutxooptimization =1 will enable the automatic splitting of UTXO's in the coinstake transaction (stake outputs). Zero is the default (disabled).\r\n\r\nStakingefficiency=xx is an integer that specifies the desired staking efficiency. This is constrained by the code to be between 75% and 99%, in case someone puts some nonsense value in there.\r\n\r\nMinimumstakeutxovalueforsplit=xxx is an integer that specifies the minimum UTXO size desired post split to provide a secondary control on UTXO size. If difficulty drops and a high efficiency is specified, the efficiency alone may split UTXO's into amounts smaller than the user desires. This will prevent that from occurring. If a user specifies less than 800 GRC, then the code uses 800 GRC.\r\n\r\nThe code is implemented as a modification to the UTXO push at the end of the CreateCoinStake, and the addition of the Gridcoin reward to the UTXO(s) at the end of CreateGridcoinReward. Note that the code can handle an n-way UTXO split in the case of giant UTXO's that need to be split more than 2-way, but there is a current limit placed of 2-way because of the limitation of the number of Coinstake outputs in AcceptBlock. This may be changed in the future.\r\n\r\nThis addresses issue #1240.\r\n\r\nThis PR is already staking successfully on testnet with my testnet Windows node."},"comment":{"url":"https://api.github.com/repos/gridcoin-community/Gridcoin-Research/issues/comments/410870279","html_url":"https://github.com/gridcoin-community/Gridcoin-Research/pull/1244#issuecomment-410870279","issue_url":"https://api.github.com/repos/gridcoin-community/Gridcoin-Research/issues/1244","id":410870279,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMDg3MDI3OQ==","user":{"login":"jamescowens","id":7529186,"node_id":"MDQ6VXNlcjc1MjkxODY=","avatar_url":"https://avatars0.githubusercontent.com/u/7529186?v=4","gravatar_id":"","url":"https://api.github.com/users/jamescowens","html_url":"https://github.com/jamescowens","followers_url":"https://api.github.com/users/jamescowens/followers","following_url":"https://api.github.com/users/jamescowens/following{/other_user}","gists_url":"https://api.github.com/users/jamescowens/gists{/gist_id}","starred_url":"https://api.github.com/users/jamescowens/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamescowens/subscriptions","organizations_url":"https://api.github.com/users/jamescowens/orgs","repos_url":"https://api.github.com/users/jamescowens/repos","events_url":"https://api.github.com/users/jamescowens/events{/privacy}","received_events_url":"https://api.github.com/users/jamescowens/received_events","type":"User","site_admin":false},"created_at":"2018-08-06T22:15:40Z","updated_at":"2018-08-06T22:15:40Z","author_association":"CONTRIBUTOR","body":"I don't like combining the tunables. It makes it more cryptic. We have ENOUGH cryptic code in this codebase. "}}
{"actor":{"display_login":"jamescowens"}}