'Get out of paper money and into bitcoin' - Asia Times

How can I get this script to work for Litecoin 0.8.7.5?

What would I need to do to get this script to work for Litecoin 0.8.7.5? https://github.com/litecoin-project/litecoin/releases/tag/v0.8.7.5
 class Bitcoin { // Configuration options private $username; private $password; private $proto; private $host; private $port; private $url; private $CACertificate; // Information and debugging public $status; public $error; public $raw_response; public $response; private $id = 0; /** * @param string $username * @param string $password * @param string $host * @param int $port * @param string $proto * @param string $url */ function __construct($username, $password, $host = 'localhost', $port = 8332, $url = null) { $this->username = $username; $this->password = $password; $this->host = $host; $this->port = $port; $this->url = $url; // Set some defaults $this->proto = $host == 'localhost' ? 'http':'https'; $this->CACertificate = null; } /** * @param string|null $certificate */ function setSSL($certificate = null) { $this->proto = 'https'; // force HTTPS $this->CACertificate = $certificate; } function __call($method, $params) { $this->status = null; $this->error = null; $this->raw_response = null; $this->response = null; // If no parameters are passed, this will be an empty array $params = array_values($params); // The ID should be unique for each call $this->id++; // Build the request, it's ok that params might have any empty array $request = json_encode(array( 'method' => $method, 'params' => $params, 'id' => $this->id )); // Build the cURL session $curl = curl_init("{$this->proto}://{$this->username}:{$this->password}@{$this->host}:{$this->port}/{$this->url}"); $options = array( CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_FOLLOWLOCATION => TRUE, CURLOPT_MAXREDIRS => 10, CURLOPT_HTTPHEADER => array('Content-type: application/json'), CURLOPT_POST => TRUE, CURLOPT_POSTFIELDS => $request ); if ($this->proto == 'https') { // If the CA Certificate was specified we change CURL to look for it if ($this->CACertificate != null) { $options[CURLOPT_CAINFO] = $this->CACertificate; $options[CURLOPT_CAPATH] = DIRNAME($this->CACertificate); } else { // If not we need to assume the SSL cannot be verified so we set this flag to FALSE to allow the connection $options[CURLOPT_SSL_VERIFYPEER] = FALSE; } } curl_setopt_array($curl, $options); // Execute the request and decode to an array $this->raw_response = curl_exec($curl); $this->response = json_decode($this->raw_response, TRUE); //error_log('this->response: '. print_r($this->response,true)); // If the status is not 200, something is wrong $this->status = curl_getinfo($curl, CURLINFO_HTTP_CODE); // If there was no error, this will be an empty string $curl_error = curl_error($curl); curl_close($curl); if (!empty($curl_error)) { $this->error = $curl_error; } if ($this->response['error']) { // If bitcoind returned an error, put that in $this->error $this->error = $this->response['error']['message']; } elseif ($this->status != 200) { // If bitcoind didn't return a nice error message, we need to make our own switch ($this->status) { case 400: $this->error = 'HTTP_BAD_REQUEST'; break; case 401: $this->error = 'HTTP_UNAUTHORIZED'; break; case 403: $this->error = 'HTTP_FORBIDDEN'; break; case 404: $this->error = 'HTTP_NOT_FOUND'; break; } } if ($this->error) { return FALSE; } return $this->response['result']; } } /* Address History Interface Class */ class AddressHistory { public $address = null; public $n_tx = 0; public $total_sent = 0; public $total_received = 0; public $balance = 0; public $final_balance = 0; public $txns = array(); public function __construct($txn=null) { if(! is_array($txn)) return null; if(array_key_exists('address', $txn)) $this->address = $txn['address']; if(array_key_exists('n_tx', $txn)) $this->n_tx = $txn['n_tx']; if(array_key_exists('total_sent', $txn)) $this->total_sent = $txn['total_sent']; if(array_key_exists('total_received', $txn))$this->total_received = $txn['total_received']; if(array_key_exists('balance', $txn)) $this->balance = $txn['balance']; if(array_key_exists('final_balance', $txn)) $this->final_balance = $txn['final_balance']; if(is_array($txn['txns'])) { foreach($txn['txns'] as $key => $this_txn) { $new_txn = array( 'hash' => $this_txn['hash'], 'block_height' => $this_txn['block_height'], 'value' => $this_txn['value'], 'spent' => $this_txn['spent'], 'spent_by' => $this_txn['spent_by'], 'confirmations'=> $this_txn['confirmations'] ); $this->txns[$key] = new TransRef($new_txn); } } else { $this->txns = null; } return $this; } } /* Transaction Reference Interface Class */ class TransRef { public $hash; public $block_height; public $value; public $spent; public $spent_by; public $confirmations; public function __construct($txnref=null) { if(! is_array($txnref)) return null; if(array_key_exists('hash', $txnref)) $this->hash = $txnref['hash']; if(array_key_exists('block_height', $txnref)) $this->block_height = $txnref['block_height']; if(array_key_exists('value', $txnref)) $this->value = $txnref['value']; if(array_key_exists('spent', $txnref)) $this->spent = $txnref['spent']; if(array_key_exists('spent_by', $txnref)) $this->spent_by = $txnref['spent_by']; if(array_key_exists('confirmations', $txnref)) $this->confirmations = $txnref['confirmations']; return $this; } } /* CoindRPC - JsonRPC Class to talk to bitcoind */ class CoindRPC extends Bitcoin { public function __construct() { return parent::__construct(WN_RPC_USER, WN_RPC_PASS, WN_RPC_HOST, WN_RPC_PORT); } public function __call($method, $params) { return parent::__call($method, $params); } public function get_address_balance($address, $confirmations=0) { try { $address_info = $this->validateaddress($address); if($address_info['isvalid'] == 1 && $address_info['ismine'] == 1) { $balance = $this->getreceivedbyaddress($address, $confirmations); } if($balance != '') { return floatval($balance); } else { return 0; } } catch (Exception $e) { error_log('error: '. print_r($e->getMessage(),true)); error_log('['.__LINE__.'] : '.__FILE__); } } public function get_address_history($address) { try { $address_info = $this->validateaddress($address); if($address_info['isvalid'] == 1 && $address_info['ismine'] == 1) { //- if only listening to one BTC account //$history = $this->listtransactions(WN_RPC_ACCT); $history = $this->listtransactions(); $txns = array(); $final_balance = $balance = 0; foreach($history as $txn) { if($txn['address'] != $address) continue; $n_tx = $total_received = $total_sent = 0; $n_tx = intval($addr_hist['n_tx']) + 1; switch($txn['category']) { case('receive'): $total_received = $addr_hist['total_received'] += $txn['amount']; $balance = $balance + $txn['amount']; //- can we trust final balance here? do we need more history $final_balance = $final_balance + $txn['amount']; break; case('send'): $total_sent = $addr_hist['total_sent'] += $txn['amount']; $balance = $balance + $txn['amount']; //- can we trust final balance here? do we need more history $final_balance = $final_balance + $txn['amount']; break; } $txns[] = array( 'hash' => $txn['txid'], 'value' => $txn['amount'], 'spent' => $txn['spent'], 'spent_by' => $txn['spent_by'], 'confirmations' => $txn['confirmations'], ); } $addr_hist = array( 'address' => $address, 'n_tx' => $n_tx, 'total_sent' => $total_sent, 'total_received' => $total_received, 'balance' => $balance, 'final_balance' => $final_balance, 'txns' => $txns ); $addr_hist = new AddressHistory($addr_hist); } else { $addr_hist = false; error_log('Address invalid: '.$address); error_log('['.__LINE__.'] : '.__FILE__); } return $addr_hist; } catch (Exception $e) { error_log('error: '. print_r($e->getMessage(),true)); error_log('['.__LINE__.'] : '.__FILE__); } } public function get_transaction($hash) { try { return $this->gettransaction($hash); } catch (Exception $e) { error_log('error: '. print_r($e->getMessage(),true)); error_log('['.__LINE__.'] : '.__FILE__); } } } /* Helper class */ class Helper { public static $api = null; public static $db = null; public function __construct($db, $api) { Helper::$api = $api; Helper::$db = $db; } public static function walletnotify_email($txnhead) { //- bitcoind calls walletnotify on 0 confirmations and 1. //- We only want email to go out on the first call. Otherwise //- if we want only one 1 confrime, change this to //- confirmations == 0) return; if($txnhead['confirmations'] > 0) return; $tmpl = file_get_contents('email.notify.tmpl.html'); foreach($txnhead as $key => $val) { $map['{'.$key.'}'] = $val; } $map['{timestamp}'] = date('Y-m-d H:i:s', WN_GLOBAL_TIMESTAMP); $map['{hostname}'] = php_uname('n'); $html = str_replace(array_keys($map), array_values($map), $tmpl); $txid_short = substr($txnhead['txid'], 0, 4).' .. '.substr($txnhead['txid'], -4); $msg = "=WNotify=". "\ntxid: ".$txid_short. "\nAmt : ".$txnhead['amount']. "\nCmnt: ".$txnhead['comment']. "\nAcct: ".$txnhead['account']. "\nConf: ".$txnhead['confirmations']. "\nCat : ".$txnhead['category']. "\nAddr: ".$txnhead['address']. ""; //- send to carrier's email to SMS gateway if configured if(defined('WN_SMS_ADMIN') && filter_var(WN_SMS_ADMIN, FILTER_VALIDATE_EMAIL)) { Helper::send_email_sms($msg, WN_SMS_ADMIN); } return Helper::send_email($html, 'WN:WalletNotify', WN_EMAIL_ADMIN);; } public static function send_email($msg, $subj, $to) { $headers = 'From: '.WN_EMAIL_FROM."\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; if(trim($msg) == '') return false; return mail($to, $subj, $msg, $headers); } public static function send_email_sms($msg, $to) { if(trim($msg) == '') return false; if($to == '') return false; $headers = 'From: '.WN_EMAIL_FROM."\r\n"; return mail($to, null, $msg."\n.", $headers); } } 
submitted by Mjjjokes to cryptodevs [link] [comments]

Setting up a Webshop that accepts lightning payments via lightning charge. Seeking brave alpha tester

Hey everyone,
after the big news yesterday that lightning charge by the elements group is out I am helping my fiancee's sister who is running a medium sized webshop for a living to add bitcoin as a form of payment. She is very happy to do so and promised to HODL all revenue made via Bitcoins (sorry I have to brag that she must have great influence (; ). However her product is rather cheap (only a few bucks) so without lightning it didn't make sense to accept bitcoin because fees would have been higher that the price for the product.
After the great help and suggestions by cdecker on the IRC yesterday and today (kudos and shoutout to him!) I knew the roadmap: * I set up a virtual machine on amazon elastic cloud (actually a friend did this who is doing this on a regular basis. Thanks Heinrich!) * We set up my very first bitcoin node (bitcoin core 0.15 which worked pretty easy! Amzing good processes and workflows) * We set up my very first lighting node. (which also turned out to be pretty straight forward) * We had everything on testnet and I am currently running on mainnet (however bitcoind is still downloading and verifying the blockchain)
We have several problems though at the last step in which case the needed technology stack is kind of out of our comfort zone: 1. I can't set up lightning charge following this tutorial: https://github.com/ElementsProject/lightning-charge (I know it's ridiculous but I am not living in the javascript / node.js world, so I am having problems with user rights when running npm. If anyone would be willing to have a look (maybe via skype screenshare session it would be great!) 2. I currently don't have any hot wallet coins on the bitcoin node since this is my very first node and I am kind of afraid to transfer my funds. As far as I understand, I do not really need bitcoins myself to fund lightning channels as long as the other lightning nodes open and fund the channels (which is the preferred way anyway, since a webshop is obviously only accepting BTC and has basically only incoming payments over the long turn). Anyway I would need some brave people who are running lightning nodes that would hook me up to the lightning mainet by funding some channels with me. obviously there is little risk involved since I can't steel or access the funds as long as nobody is really buying products in the webshop and paying with bitcoin. 3. the blockchain needes really a lot of time to download and verify. That makes sense if all the merkle trees need to be calculated for every block. Is there a better way to skip veryfication? Or ist that such a security risk that I just have to wait?
./lighting-cli getinfo: { "id" : "020bcf913931fe5fb96931c9be470bbdccd1b24eaa5a0758dbf7efc45bedcb1ebe", "port" : 9735, "address" : 35.158.17.37 , "version" : "v0.5.2-2016-11-21-1574-g575b733", "blockheight" : 331274 }
the bitcoin address of that corresponding wallet reads: 36DqbzCRcXeHbUG6C9jjxMghmuCHZg9BRn but as far as I understand that is not needed for channel creation.
Disclaimer: She and I do understand that lightning on mainnet is highly experimental. However her product is basically digital so in case something goes wrong she could still satisfy the consumers but just has to give up the lost revenue. In that sense she and I are willing to take the risk of setting up this prototypical real world application to demonstrate from a real user the usefulness of the lighting network and lightning charge.
happy to hear from u and receive some PMs or other input!
best Rene
submitted by renepickhardt to Bitcoin [link] [comments]

Help needed diagnosing another Bitcoin Unlimited Cash orphaned block

We had yet another bitcoin cash orphan this morning, at 7:11:23am EST. I attached the log and the getinfo() results below. I remember that jtoomim has said he was willing to look at logs, so perhaps he or someone else can figure this one out.
In this case, it does not appear as if bandwidth restrictions had any impact. The daemon never hit the bandwidth cap at any time, before or after the block was found by Bitcoin Unlimited Cash. The block was accepted by the daemon as valid, and then our checker later determined that it wasn't present on the main chain.
Does this log contain any information that could assist in determining why the orphan rate is around 5%? I thought that it should be lower than that.
{ "version": 1050100, "protocolversion": 80003, "walletversion": 130000, "balance": 11.99153576, "blocks": 561230, "timeoffset": 0, "connections": 16, "proxy": "", "difficulty": 137513968721.5887, "testnet": false, "keypoololdest": 1542387258, "keypoolsize": 100, "unlocked_until": 0, "paytxfee": 0.00000000, "relayfee": 0.00000000, "status": "ready", "errors": "", "fork": "Bitcoin Cash" } 

2018-12-17 12:02:38 Acceptable block: ver:20c00000 time:1545048143 size: 42558 Tx:106 Sig:179 2018-12-17 12:02:38 UpdateTip: new best=000000000000000003648d35c1bee30a62c93b004d8e5b05df1d0098a8d46aff height=561204 bits=403185772 log2_work=87.75729 tx=268355142 date=2018-12-17 12:02:23 progress=0.999999 cache=0.1MiB(351txo) 2018-12-17 12:02:38 CheckAndAlertUnknownVersionbits: 36 of last 100 blocks have unexpected version. One example: 0x20400000 2018-12-17 12:02:39 CreateNewBlock(): total size 1085 txs: 0 fees: 0 sigops 100 2018-12-17 12:02:39 Acceptable block: ver:20000000 time:1545048159 size: 193 Tx:1 Sig:1 2018-12-17 12:02:39 CreateNewBlock(): total size 1085 txs: 0 fees: 0 sigops 100 2018-12-17 12:02:39 Acceptable block: ver:20000000 time:1545048159 size: 193 Tx:1 Sig:1 2018-12-17 12:05:11 Acceptable block: ver:20000000 time:1545048307 size: 1584 Tx:6 Sig:13 2018-12-17 12:05:11 UpdateTip: new best=000000000000000005ded68295e2f941b4875ba4699e8d6ff5e925bfa7b8573a height=561205 bits=403190346 log2_work=87.757293 tx=268355148 date=2018-12-17 12:05:07 progress=1.000000 cache=0.1MiB(19txo) 2018-12-17 12:05:11 CheckAndAlertUnknownVersionbits: 36 of last 100 blocks have unexpected version. One example: 0x20400000 2018-12-17 12:05:11 CreateNewBlock(): total size 1085 txs: 0 fees: 0 sigops 100 2018-12-17 12:05:11 Acceptable block: ver:20000000 time:1545048311 size: 193 Tx:1 Sig:1 2018-12-17 12:05:11 CreateNewBlock(): total size 1085 txs: 0 fees: 0 sigops 100 2018-12-17 12:05:11 Acceptable block: ver:20000000 time:1545048311 size: 193 Tx:1 Sig:1 2018-12-17 12:11:23 Acceptable block: ver:20c00000 time:1545048311 size: 261 Tx:1 Sig:1 2018-12-17 12:11:23 UpdateTip: new best=000000000000000001d2d4401618fd1c598ab126f407a30df326ccfbf99d2823 height=561206 bits=403197915 log2_work=87.757296 tx=268355149 date=2018-12-17 12:05:11 progress=0.999978 cache=0.1MiB(48txo) 2018-12-17 12:11:23 CheckAndAlertUnknownVersionbits: 36 of last 100 blocks have unexpected version. One example: 0x20800000 2018-12-17 12:11:23 CreateNewBlock(): total size 10511 txs: 24 fees: 33055 sigops 144 2018-12-17 12:11:23 Acceptable block: ver:20000000 time:1545048683 size: 9619 Tx:25 Sig:42 2018-12-17 12:11:23 CreateNewBlock(): total size 10511 txs: 24 fees: 33055 sigops 144 2018-12-17 12:11:23 Acceptable block: ver:20000000 time:1545048683 size: 9619 Tx:25 Sig:42 2018-12-17 12:11:25 Acceptable block: ver:20000000 time:1545048655 size: 2987 Tx:8 Sig:14 2018-12-17 12:14:20 Acceptable block: ver:20000000 time:1545048836 size: 14401 Tx:37 Sig:62 2018-12-17 12:14:20 UpdateTip: new best=000000000000000005ded68295e2f941b4875ba4699e8d6ff5e925bfa7b8573a height=561205 bits=403190346 log2_work=87.757293 tx=268355148 date=2018-12-17 12:05:07 progress=0.999968 cache=0.1MiB(85txo) 2018-12-17 12:14:20 CheckAndAlertUnknownVersionbits: 36 of last 100 blocks have unexpected version. One example: 0x20400000 2018-12-17 12:14:20 UpdateTip: new best=000000000000000002b6dbc218db453dcf75ddce6e8fce27924769429f647c47 height=561206 bits=403197915 log2_work=87.757296 tx=268355156 date=2018-12-17 12:10:55 progress=0.999988 cache=0.1MiB(100txo) 2018-12-17 12:14:20 CheckAndAlertUnknownVersionbits: 35 of last 100 blocks have unexpected version. One example: 0x20800000 2018-12-17 12:14:20 UpdateTip: new best=0000000000000000051ed80cfac2bfcb6736608d13dd4c122365ef5095606dee height=561207 bits=403196363 log2_work=87.7573 tx=268355193 date=2018-12-17 12:13:56 progress=0.999999 cache=0.1MiB(167txo) 2018-12-17 12:14:20 CheckAndAlertUnknownVersionbits: 35 of last 100 blocks have unexpected version. One example: 0x20800000 2018-12-17 12:14:20 CreateNewBlock(): total size 2297 txs: 3 fees: 1223 sigops 114 2018-12-17 12:14:20 Acceptable block: ver:20000000 time:1545048860 size: 1405 Tx:4 Sig:9 2018-12-17 12:14:20 CreateNewBlock(): total size 2297 txs: 3 fees: 1223 sigops 114 2018-12-17 12:14:20 Acceptable block: ver:20000000 time:1545048860 size: 1405 Tx:4 Sig:9 2018-12-17 12:18:18 Acceptable block: ver:20000000 time:1545049076 size: 8023 Tx:21 Sig:41 2018-12-17 12:18:18 UpdateTip: new best=000000000000000003c4d52a41d6c702be827a7048816fdf74e8a3272cdd12eb height=561208 bits=403198104 log2_work=87.757303 tx=268355214 date=2018-12-17 12:17:56 progress=0.999999 cache=0.1MiB(101txo) 2018-12-17 12:18:18 CheckAndAlertUnknownVersionbits: 35 of last 100 blocks have unexpected version. One example: 0x20800000 2018-12-17 12:18:18 CreateNewBlock(): total size 3755 txs: 4 fees: 104676 sigops 108 2018-12-17 12:18:18 Acceptable block: ver:20000000 time:1545049098 size: 2863 Tx:5 Sig:9 2018-12-17 12:18:18 CreateNewBlock(): total size 3755 txs: 4 fees: 104676 sigops 108 2018-12-17 12:18:18 Acceptable block: ver:20000000 time:1545049098 size: 2863 Tx:5 Sig:9 2018-12-17 12:21:50 Acceptable block: ver:20800000 time:1545049250 size: 11480 Tx:26 Sig:41 2018-12-17 12:21:50 UpdateTip: new best=0000000000000000039d58dcb3bcd2e5a8a79b5b47227a97e21d22a1028e3dd4 height=561209 bits=403193955 log2_work=87.757306 tx=268355240 date=2018-12-17 12:20:50 progress=0.999997 cache=0.1MiB(115txo) 2018-12-17 12:21:50 CheckAndAlertUnknownVersionbits: 35 of last 100 blocks have unexpected version. One example: 0x20c00000 2018-12-17 12:21:50 CreateNewBlock(): total size 2463 txs: 4 fees: 2387 sigops 109 2018-12-17 12:21:50 Acceptable block: ver:20000000 time:1545049310 size: 1571 Tx:5 Sig:10 2018-12-17 12:21:50 CreateNewBlock(): total size 2463 txs: 4 fees: 2387 sigops 109 2018-12-17 12:21:50 Acceptable block: ver:20000000 time:1545049310 size: 1571 Tx:5 Sig:10 2018-12-17 12:30:52 connect() to [2607:f2c0:ecae:3d:1262:ebff:fe48:85f3]:8333 failed: Network is unreachable (101) 2018-12-17 12:37:40 Acceptable block: ver:20000000 time:1545050227 size: 69173 Tx:76 Sig:146 2018-12-17 12:37:40 UpdateTip: new best=000000000000000002b2982882663cf01b1db0bcc2876fa55c2a41d3ef354d7b height=561210 bits=403192877 log2_work=87.757309 tx=268355316 date=2018-12-17 12:37:07 progress=0.999998 cache=0.1MiB(548txo) 2018-12-17 12:37:40 CheckAndAlertUnknownVersionbits: 34 of last 100 blocks have unexpected version. One example: 0x20c00000 2018-12-17 12:37:40 CreateNewBlock(): total size 2533 txs: 2 fees: 2316 sigops 103 2018-12-17 12:37:40 Acceptable block: ver:20000000 time:1545050260 size: 1641 Tx:3 Sig:4 2018-12-17 12:37:40 CreateNewBlock(): total size 2533 txs: 2 fees: 2316 sigops 103 2018-12-17 12:37:40 Acceptable block: ver:20000000 time:1545050260 size: 1641 Tx:3 Sig:4 2018-12-17 12:45:19 Acceptable block: ver:20000000 time:1545050688 size: 10306 Tx:14 Sig:29 2018-12-17 12:45:19 UpdateTip: new best=00000000000000000378d55568094cb4aa60155798edd1e4d046c7bfac286a42 height=561211 bits=403185479 log2_work=87.757312 tx=268355330 date=2018-12-17 12:44:48 progress=0.999998 cache=0.1MiB(131txo) 2018-12-17 12:45:19 CheckAndAlertUnknownVersionbits: 34 of last 100 blocks have unexpected version. One example: 0x20c00000 2018-12-17 12:45:19 CreateNewBlock(): total size 13214 txs: 34 fees: 20859 sigops 165 2018-12-17 12:45:19 Acceptable block: ver:20000000 time:1545050719 size: 12322 Tx:35 Sig:55 2018-12-17 12:45:19 CreateNewBlock(): total size 13214 txs: 34 fees: 20859 sigops 165 2018-12-17 12:45:19 Acceptable block: ver:20000000 time:1545050719 size: 12322 Tx:35 Sig:55 2018-12-17 12:51:16 connect() to [2a02:1812:1426:a600:84e:ea09:30b:2772]:8333 failed: Network is unreachable (101) 2018-12-17 12:51:40 connect() to [2001:8003:258d:3200:43:6475:500:8286]:8333 failed: Network is unreachable (101) 

submitted by MattAbrams to btc [link] [comments]

Bitcoin Unlimited - Bitcoin Cash edition 1.2.0.0 has just been released

Download the latest Bitcoin Cash compatible release of Bitcoin Unlimited (1.2.0.0, January 7, 2018) from:
 
https://www.bitcoinunlimited.info/download
 
This release implements Bitcoin Cash, compliant with the latest hard fork (Nov 13, 2017) and adding CashAddr and Bitpay address format support
 
The main changes of this release is the introduction of the cashaddr new address format. The specification for this new address encoding could be find here. The old format continue to be supported and won't be deprecated, The old format will remain the default till January 14th, 2017, on that day the new format will be used as default new format automatically. A command line flag -usecashaddr and configuration parameter could be used to select which format to by default.
Add limited support to BitPay Bitcoin Cash addresses format, this new format is accepted in any time an address is requested, and you can show the BitPay address form using the getaddressforms RPC. However BitPay-form addresses are not displayed in the GUI or as responses to any other RPCs.
Other notable changes:
 
Release notes: https://github.com/BitcoinUnlimited/BitcoinUnlimited/blob/BitcoinCash/doc/release-notes/release-notes-bucash1.2.0.0.md
 
Ubuntu PPA is in the process of being updated.
submitted by s1ckpig to btc [link] [comments]

Myriadcoin 0.16.3.0

Major new version:
Binaries and source code:
https://github.com/myriadteam/myriadcoin/releases/tag/v0.16.3.0
if using git:
git clone https://github.com/myriadteam/myriadcoin.git git checkout v0.16.3.0 
New in this release:
notes:
Please report issues here:
https://github.com/myriadteam/myriadcoin/issues
To be clear, this is an optional update. v0.14.4.1 is still supported at this time.
Thanks to all who have tested and reviewed this release! Special thanks to 8bitcoder for review and suggestions.
Link to v0.14 Release (still supported):
https://www.reddit.com/myriadcoin/comments/9x0xxb/myriadcoin_01441/
previous release announce:
https://www.reddit.com/myriadcoin/comments/9x0xxb/myriadcoin_01441/
submitted by cryptapus to myriadcoin [link] [comments]

Inactive channels after upgrading to the latest LND version.

Inactive channels after upgrading to the latest LND version.
Hey guys i recently upgraded to the latest version of lnd using the stadicus guide. It all seemed to worked fine but after i restarted the lnd client and checking `lncli getinfo´ it sasys that all my channels are inactive and it has not changed after 20 minutes. I then proceeded and checked the logs but i keep getting this ERROR: [ERR] LNWL: Failed to process consensus server notification (name: `blockconnected`, detail: `failed to store sync information 000000000000000000292da098ed8906603f3c7cf313f733d08d20c9c9601800: failed to fetch block hash for height 563340: block not found`)


https://preview.redd.it/iw26bwmnc0h21.png?width=1142&format=png&auto=webp&s=14d68fcd8bc51210238534564762b64b0422e920

Any particular reason for that? The Bitcoind client seem to be working as expected (i did not stop it when i upgraded the lnd client tho), regarding the upgrade i followed the steps exactly as recommened by stadicus only that i didnt unlock the wallet with the bitcoin user (i did it with the admin user) once i upgraded but i dont know if that can even be a problem, Im not sure if all this is caused cuz the lnd is supposed to create new macaroons files??...

Whatever you can tell me to help that will be much appreciated. I dont know how much longer those channels can stay inactive before that becomes an issue...

Thanks for the help in advanced.
submitted by meadowpoe to lightningnetwork [link] [comments]

Need help trying to figure out why block contains few transactions

I'm trying to troubleshoot bitcoin block 0000000000000000001aaef7bdca12abf93c862b5df4db96ca6130b6445655c1. The Prohashing pool found this block this morning, but it only has 9 transactions. The blocks around it appear to have many more transactions than this one does, some as many as 1300. Yet, getblocktemplate returned just a few transactions. This is the third block where there were about the same number of transactions.
Since all the other coins mined by the pool contain a lot of transactions, it's unlikely that this problem is a bug in the mining server that limits blocks to 9 transactions. For example, litecoin block 9d24ac1c74689309c08f4d2bd4eb47210c8f44f4c788472fd003bf7d8d4ad562 contains 19 transactions. Bitcoin Cash block 000000000000000000c966e7c0f566df540efc2b30604188a7cf511cb8e41730 also contains more than 9 transactions. That's why I think the problem is a configuration error.
Here's the bitcoin.conf file, in case that helps.
server=1 daemon=1 port=4516 rpcuser=daemon rpcpassword=[censored] rpcport=3210 rpctimeout=30 blocknotify=/usshare/blocknotify_new.sh --user=daemon --pass=[censored] #maxconnections=8 txconfirmtarget=6 minrelaytxfee=0.00005 addnode=v4.us-east.fibre.bitcoinrelaynetwork.org 
and here's what getinfo() returns:
{ "version": 1000300, "protocolversion": 80002, "walletversion": 60000, "balance": 15.98119571, "blocks": 534848, "timeoffset": 0, "connections": 27, "proxy": "", "difficulty": 5949437371609.53, "testnet": false, "keypoololdest": 1529134290, "keypoolsize": 100, "unlocked_until": 0, "paytxfee": 0.00000000, "relayfee": 0.00002423, "errors": "Warning: unknown new rules activated (versionbit 1)" } 
While a lot of discussion here is about BCH, all of our employees are banned from all of the Core's discussion forums, so this is the only place we can go. Any help someone can provide would be appreciated, as including more transactions in blocks would also allow the networks to function better for everyone.
submitted by MattAbrams to btc [link] [comments]

Run a 0.14 Full-Node on RaspberryPi3 Pruned(less than 16GB SD needed)

Hi!
Happy if this guide helps you.
Tip if you want: 19656Uwdwko5RjtnuwQENpjBwE3ChzD59v
UPDATE 04/06/17
Add 'uacomment=UASF-SegWit-BIP148' into your bitcoin.conf if you want to signal UASF.
UPDATE 03/13/17
ADDED a tl;dr; Version at the end of this Post.
UPDATE 03/12/17:
Just to test it - I reinstalled all on 8GB SD and it works as well. But maybe you should use at least 16GB for the beginning.
Using a 128GB card for the first version was a little bit stupid - so I reinstalled everything on a 8GB SD card. Including Linux and a pruned blockchain - and it works.
I used prune=550 and Jessie Lite (headless / command line) - without wallet and gui.
The SD is almost full, but it works so far
I also updated the whole manual a bit to make things more clear. Thank you for all your feedback!
Just started my Bitcoin Node today and wanted to share the way I did it with people who are interested in running their own full node. It took some time to write everything down - hopefully correct so far.
I am sure, many people around bitcoin are way more informed and educated as I am - I am the noob. So I wrote this manual to help users like me - noobs, to get started with a cheap, simple bitcoin node on raspberry pi.
Have fun!
I wanted to get my Raspberry Pi 3 working as a node to support the network. Actually the process of installing and running the node was more or less easy - but for Noobs (like I am) it might be a bit tricky to start the whole thing, because there are different ways.
Did you - like me - think you would need +120GB on the raspi, external USB HDD to be a full node? You won't!
If you have a Raspberry and you know what Bitcoin is, I guess, you are a little bit aware of linux, networks and of course bitcoin - so I won't go into detail too much.
This guide is just a little helper to get a full node running on your raspberry pi. Thanks to the help of the nice people in this sub and of course the documentation by the developers, I got it working - and of course also special thanks to raspnode.com - as I followed their tutorial to start - I went some other ways here and there - so please read carefully.
For the Part 2 I would suggest to have http://raspnode.com/diyBitcoin.html open and read through my manual.
I split the tutorial in 2 Parts - PART ONE is about installing the client on your PC and downloading the Blockchain.
PART TWO is about the setup of the raspberryPi and transferring the pruned blockchain to the pi and run it as a full node!
The first thing to be aware of is: You actually need to download the whole blockchain to get this working - if you already have your bitcoin client synced on the PC / MAC great you can reuse it!
Now you might think "but you said less than 16GB in the title!"
Yes, but the good thing is you won't need to download it on your Raspberry, neither you need to sync it completely on your raspberry which took ages (weeks!) before. When you finished this Guide, you will just have a max. 4GB Blockchain on your Raspberry Pi - but it still is a full node! The magic word is Pruning.
Maybe even a 8GB SD Card works just fine including Linux (jessie lite)!
So, if you already have a full node on your PC - Great you can almost skip PART ONE - BUT have at how to Prune in PART ONE if you don't know about it.
For PART TWO you'll need a Raspberry Pi 2 or 3 (I used 3) min. 8GB (works also) or better 16GB SD Card. (I used a 128GB for the first version of this manual - which is way too big)

PART ONE

This is the manual how to get started on you PC / MAC / Linux (I did it on Win7)
Go to: https://bitcoin.org/en/download and download the core Client for your Machine (I used win64).
Install it and configure it to save the Blockchaindata to the directory of your choice - so instead getting 120GB on your C drive, I would suggest to download it to another place like a USB drive.
You can set this up during the install. Standard folder for the blockchain folder is "%APPDATA%\Bitcoin" on Windows.
or you can do it after the install by creating a bitcoin.conf file inside your installation folder / or %APPDATA%\Bitcoin and add
datadir=l:\yourfolder
to the file. Line by line.
By the way here you could also just add dbcache - to use more memory to speed up the process a bit:
dbcache=4096
if you don't want to use the settings inside the program. (you can also set this inside the program under settings! If you have this inside the bitcoin.conf you will see the amount you set there from inside the program - it overrides the values)
You can check inside the windows client under settings, if you can see a manual dbcache is set by having a look at the left footer area. When your dbcache value shows up, everything is fine.
So the Blockchain download process will take time - maybe a few days! Depending on your machine, internet connection and HDD.
The Blockchain is huge as it contains every single transaction of the past until today. You won't need to keep your PC running all the time, you can turn it off and on and it will resync automatically when you start bitcoin-qt.exe!
Make sure to close the client always via "quit" - ctrl+q.
After you have your bitcoin core installed, the blockchain downloaded and synced - you are ready to PRUNE!
First - close the Client and let it close smoothly. After it is really closed you can follow these steps:
By pruning, your blockchain will dramatically shrink. From 120GB to just a few GB.
Be aware, that you will lose your Downloaded Blockchain as pruning will erase a big chunk of it! If you have enough space, you could of course keep the full blockchain saved somewhere on another HDD.
You can prune by editing your bitcoin.conf file by adding:
prune=550
I used prune=1024 - not sure where the differences are right now (min. prune=550). (for my 8GB version I used 550! I suggest to use this.)
Save the bitcoind.conf file and restart your windows client.
It will now clean up the Blockchain. So just the latest blocks are saved. The client should start without any problems. Maybe it takes some time to prune the blockchain data.
Check if everything works normally (the client opens as usual, you can see an empty wallet) than close the client.
Inside the Bitcoin Folder, you'll find two folders called:
blocks chainstate
those are the interesting folders containing the important data (now pruned) - and we will transfer those two to the raspberry later!
Now you are good to start the raspi transfer explained in the next part.

PART 2

Here is what I did:
1) I installed Raspian Pixel (https://www.raspberrypi.org/downloads/raspbian/) using a 128 GB SD - which is not needed because of "Pruning" - I think a 16GB card might work, too! (You can also install Raspian Jessie Lite - which saves you even more space, as it runs headless - only command line) (Updated: It is better to use Jessie Lite to save a lot of space - when you are fine with only command line)
2) I followed partly this tutorial to get everything running and setup:
http://raspnode.com/diyBitcoin.html
Please have a look at it - I have copied the Headlines in capitals to let you know what I did, and what I skipped.
On Tutorial Page: Start with RASPBIAN (OPTIONAL) CONFIG OPTIONS.
Set You RasPi up including "EDITING FILES" to save your Layout at the tutorial page and come back here.
I skipped the CONFIGURE USB AND SET AUTOMOUNT process, as we are going to use PRUNING to reduce the 120GB to a tiny filesize - so USB Devices are not needed here!
It was necessary to ENLARGE SWAP FILE to install bitcoin core - otherwise it didn't went through which ended in a frozen raspi.
So have a close look by following the raspnode tutorial at: ENLARGE SWAP FILE.
I have my raspi running via cable to router - but you can also WiFi setup everything described under NETWORKING ON THE RASPBERRY PI.
Now comes the interesting part: Follow the steps at DOWNLOADING BITCOIN CORE DEPENDENCIES - they work fine for 0.14.0 too. Git should be on Board already when you installed Pixel - otherwise you would need to install it.
sudo apt-get install git -y (only jessy lite)
I skipped the next command lines - as I don't use bitcoin-qt wallet. If you want to use it as wallet - do the step.
mkdir ~/bin cd ~bin
Now you are in the folder you want your bitcoin core data be downloaded to via git. I didn't Downloaded the Berkeley Database source code - so I also skipped the whole next command lines
[email protected]~/bin$ wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz [email protected]~/bin$ tar -xzvf db-4.8.30.NC.tar.gz [email protected]~/bin$ cd db-4.8.30.NC/build_unix/ [email protected]~/bin/db-4.8.30.NC/build_unix$ ../dist/configure --enable-cxx [email protected]~/bin/db-4.8.30.NC/build_unix$ make -j4
and went on with "INSTALLING BITCOIN"!
I followed the first part but instead downloading 0.13 I took of course the latest version:0.14
git clone -b 0.14 https://github.com/bitcoin/bitcoin.git cd bitcoin ./autogen.sh
this might take some time to start.
If you have trouble with hanging RESOLVING DELTAS - just restart the Raspberry Pi and remove the bitcoin folder inside /~bin using
rm -rf bitcoin
this command will delete the folder and you can reuse
git clone -b 0.14 https://github.com/bitcoin/bitcoin.git

For some reason RESOLVING DELTAS is a common problem with different downloads - so just retry it and at least after 3 times it should work!

as I didn't use the GUI/ Wallet, I ran
./configure --enable-upnp-default --disable-wallet
as I don't need the wallet functionality.
I didn't need to use "MAKE" which saves you maybe up to 2.5 hours.
instead you can just go ahead with:
sudo make install
(If I am wrong in doing so - please let me know)
The install takes some time - and just a heads up: when it gets stuck somewhere - just redo the installation process - it took three times to went through - stuck at some processing.
After the installation took place you can finally get your Raspberry Pi Node running in no time!
To test if the the installation went through - you can just start bitcoind using:
bitcoind &
than check if everything is working so far:
bitcoin-cli getinfo
after a few seconds you should see version: etc...
if not, something went wrong. Try to redo the steps in the raspnode tutorial.
(don't give up if it failed - retry! Ask your questions here)
IMPORTANT: you need to stop bitcoin on your raspberry now!
bitcoin-cli stop
If you don't need an external USB Drive - what I hope - as we are going to use pruning just go ahead and skip the USB part and create a file inside (or follow the raspnode tutorial on how to setup the USB drive):
cd .bitcoin
sudo nano bitcoin.conf
and enter the exact same pruning size you have used on your Desktop Machine to prune. I used 1024 but the minimum is 550. (used 550 for the 8GB SD card on PC and Raspberry)
prune=550
That's it for the raspi.
update: To signal UASF enter in a new line:
uacomment=UASF-SegWit-BIP148

TRANSFER

Now you have to transfer the two folders CHAINSTATE and BLOCKS from your PC bitcoind directory to your raspberry.
I am using a program called "WINSCP" - it is free and easy to use: https://winscp.net/eng/download.php
We need this to transfer the files to the Raspberry pi. Pretty sure you can also do it via SSH - but I am the noob. So let's keep it simple.
Open Winscp and put in the IP Address of your Raspberry Pi, User and Password (same as in SSH)
You should now see the directories on your Raspberry Pi. There is a folder called
.bitcoin
enter it and you will see the two folders
blocks & chainstate
you can delete them on the raspberry as they have some data from your previous test inside.
Make sure you can also see the bitcoin.conf file in that directory, which needs to contain the exact same prune line, like the one on your desktop machine. If not, make sure to edit it via SSH. The line "datadir=l:\yourfolder" is obviously not needed in the Raspberry bitcoin.conf file.
Now grab the two folders CHAINSTATE and BLOCKS from your PC and copy them to your .bitcoind folder.
I also copied banlist.dat, fee_estimation.dat, mempool.dat and peers.dat to the folder - not really knowing if needed! Not needed.
The whole copy process might take some minutes (against some weeks in the old way).
After copying is finished, you can now start bitcoind on the Raspberry.
bitcoind &
the & symbol let you still use the command line while the process is running btw.
The process - if succesfull - will take some time to finish.
bitcoin-cli getinfo
Will give you some informations what is going on right now. When you can see, that it is checking the blocks, this is good!
If you get an error - double check - if you have the correct prune size (same as on desktop machine) - in bitcoin.conf and that this file is inside .bitcoin on RaspberryPi. It took me some time, to find my mistakes.
Congrats! You are almost a part of the network!
To make your node now a fullnode, you will need to go to your router (often 192.168.1.1) and enable portforwarding for your raspberry pi - and open ports 8333 - that's it!
You can now go to: https://bitnodes.21.co/nodes/
scroll down to "JOIN THE NETWORK" and check check if your node IP is connected!
It will show up as soon as the blocks are checked and the raspi is running.
Well done!
Now you are running a full node, with a small Blockchain and got it working in Minutes, not weeks!
I really hope, my little tutorial worked for you and your are part of the Node network now.
If you have problems or I made a mistake in this helper tut, just let me know and I will try to make it better.
Have fun and NODL!
the noob
tl;dr; (if you are a real noob start with the non-tl;dr version!)
tl;dr; PART ONE
1) Download & install / setup bitcoincore @ https://bitcoin.org/de/download
2) change dbcache to something smaller than your memory and download the whole Blockchain (120GB).
3) create a file called bitcoin.conf put the line prune=550 (or higher) in to activate pruning on win inside %appData%/bitcoin
4) Open ports 8333 on your Router to make this a full node with a smaller Blockchain.
You are running a full node on your PC.
tl;dr; PART TWO
1) Install jessie lite and the needed dependencies on your SDCard - Raspberry
( >git clone -b 0.14 https://github.com/bitcoin/bitcoin.git )
  • see tutorial for more info.
2) create a file called bitcoin.conf inside .bitcoin and add the same prune=Number you had on your PC.
3) transfer the pruned folders BLOCKS and CHAINSTATE to the Raspberry Folder .bitcoin
4)Start "bitcoind &"
5) let everything sync
6) Make sure you have port 8333 opened on your router.
You are running a full node on your Raspberry with a super small Blockchain (I put all on a 8GB SDcard)
Tip if you want : 19656Uwdwko5RjtnuwQENpjBwE3ChzD59v
updated 03/12 - will update more, soon.
updated 03/12.2 - I updated the whole process a bit and also added some improvements.
updated 03/14/ Added a tl;dr version at the end.
submitted by I-am-the-noob to Bitcoin [link] [comments]

Bitcoin Unlimited - Bitcoin Cash edition 1.2.0.0 has just been released

Download the latest Bitcoin Cash compatible release of Bitcoin Unlimited (1.2.0.0, January 7, 2018) from:
 
https://www.bitcoinunlimited.info/download
 
This release implements Bitcoin Cash, compliant with the latest hard fork (Nov 13, 2017) and adding CashAddr and Bitpay address format support
 
The main changes of this release is the introduction of the cashaddr new address format. The specification for this new address encoding could be find here. The old format continue to be supported and won't be deprecated, The old format will remain the default till January 14th, 2017, on that day the new format will be used as default new format automatically. A command line flag -usecashaddr and configuration parameter could be used to select which format to by default.
Add limited support to BitPay Bitcoin Cash addresses format, this new format is accepted in any time an address is requested, and you can show the BitPay address form using the getaddressforms RPC. However BitPay-form addresses are not displayed in the GUI or as responses to any other RPCs.
Other notable changes:
 
Release notes: https://github.com/BitcoinUnlimited/BitcoinUnlimited/blob/BitcoinCash/doc/release-notes/release-notes-bucash1.2.0.0.md
 
Ubuntu PPA is in the process of being updated.
submitted by s1ckpig to Bitcoincash [link] [comments]

Ravencoin Open Developer Meeting - 1/4/2019

[14:04] Hi everyone! [14:04] :dabbitwave: [14:04] Hey Everybody! [14:04] Hello 😃 [14:04] Sorry we're getting started a bit late. [14:04] Topics: SLC Meetup (March 15th) [14:04] 👋 [14:04] Roadmap breakdown - posted to github [14:05] IPFS (integration) [14:05] greetings 👋 [14:05] So, SLC Meetup on the 15th! [14:05] Great! [14:05] Hi! [14:06] Hi all — a special thanks to the developers and congratulations on an amazing first year!!! # [14:06] <[Dev] Blondfrogs> Hello Everyone! [14:07] We have a tentative agenda with @Tron , @corby speaking. [14:08] We would like to have nice walkthrough of the Raven DevKit for the meetup. [14:08] We are planning on hosting a meetup in SLC at the Overstock building on March 15th from 6:00pm-9:00pm. It is free admission, but there is a page on meetup.com where people can rsvp so that we have a somewhat accurate headcount for food. [14:08] sup guys [14:08] hey russ [14:09] We are planning on having a few speakers and have allotted a bit of time at the end for people to meet and greet each other. [14:09] can you guys link us to the page somewhere when thats available? 😄 [14:10] free food?! [14:10] todays topic? [14:10] yeah can we indicate pepperoni pizza [14:10] Sounds good to me @Jeroz Nothing ordered yet though. 😃 [14:10] only pepperoni pizza is served at true blockchain meetings right [14:10] :blobhide: [14:10] Absolutely. The itinerary just needs to be finalized and then I'll make a broad post about the rest of the details. [14:11] https://www.meetup.com/Salt-Lake-City-salt-lake-city-Meetup/ [14:11] 😭 so far away [14:11] West Coast! [14:11] @MTarget But there's pizza, so worth the travel time. [14:11] lol [14:12] I'll be watching the stream if its available since i'm from montreal/canada 😛 [14:12] Ah yes, I love $300 pizza 😉 [14:12] as long as I get to see your smiling faces @Tron @RavencoinDev then it's worth the time [14:12] We'll be there. [14:12] We'll be messaging additional details as they get finalized. [14:12] Greeting and salutations! [14:12] sup [14:13] Hey, $300 is considerably cheaper than 2 $3,700,000 pizzas. [14:14] Ok, switching topics... [14:14] yeah its a way to fly, [14:14] question is whether those piza's will be paid for in RVN coin or not :ThinkBlack: [14:14] Roadmap [14:14] It hasn't changed, just added some detail. [14:14] https://github.com/RavenProject/Ravencoin/tree/masteroadmap [14:15] nice [14:15] This now links to a breakdown for messaging, voting, anti-spam, and rewards (dividends) [14:15] will there be any additional RPC functionality coming in the future, thinking in terms of some functions that are only available in ravencore-lib [14:15] apologies if now is not time to ask questions, i can wait for later [14:15] "Phase 7 - Compatibility Mode" - that's new 😮 [14:15] The protocol for messaging is pretty well established, but the rest isn't in stone (code) yet. [14:16] can you give us details on compatibility mode? [14:16] In broad brush strokes. [14:17] The idea is to allow ravend to act as a daemon that looks like a single coin. [14:17] so ravend that only works with the bitcoin asset? [14:18] interesting [14:19] So you start it with an option to only work with a single asset/token account or something? [14:19] hmm compelling what is the reason for this? some kind of scale or performance? [14:19] ^ [14:19] Example: Configure ravend to listen for transfer RPC call for senttoaddress or sendfrom, but for a specific asset. This would allow easy integration into existing system for assets. [14:20] Only the daemon or the whole wallet UI? [14:20] yeah thats great, rpc functions dont allow us to do this yet, if i recall [14:20] or at least we depend more on ravencore lib [14:20] so like asset zmq [14:20] that's smart [14:20] @Tron it also sounds like it makes our life easier working with RPC, instead of core all the time for some functionality [14:21] if i understand correctly anyways [14:21] So you could run numerous instances of ravend each on their own network and RPC port, each configured for a different asset. You would need some balance of RVN in each one to cover transaction fees, then. [14:21] id be curious to know what all the advantages are of this [14:21] one more question, how would i decentralize the gateway between bitcoin mainnet/ravencoin mainnet? in the current RSK implementation they use a federated gateway, how would we avoid this? [14:21] it sounds neato [14:21] Just the daemon. The alternative is to get exchanges to adapt to our RPC calls for assets. It is easier if it just looks like Bitcoin, Litecoin or RVN to them, but it is really transferring FREE_HUGS [14:22] That makes sense. Should further increased exchange adoption for each asset. [14:22] hmm yeah its just easier for wallet integration because its basically the same as rvn and bitcoin but for a specific asset [14:22] so this is in specific mind of exchange listings for assets i guess [14:23] if i understand rightly [14:23] @traysi Gut feel is to allow ravend to handle a few different assets on different threads. [14:23] Are you going to call it kawmeleon mode? [14:23] Lol [14:23] I read that as kaw-melon mode. [14:24] same lol [14:24] so in one single swoop it possible to create a specific wallet and server daemon for specific assets. great. this makes it easier for exchanges, and has some added advantages with processing data too right? [14:24] Still keeping a RVN balance in the wallet, as well, Tron. How will that work is sendtoaddress sends the token instead of the RVN? A receive-RVN/send tokens-only wallet? [14:25] @traysi Yes [14:25] sendtoaddress on the other port (non RVN port) would send the asset. [14:25] This will be a hugely useful feature. [14:25] ^ [14:26] @Tron currently rpc function not support getaddresses senttowallet and this has to be done in ravencore lib, will this change you propose improve this situation [14:26] Config might look like {"port":2222, "asset":"FREE_HUGS", "rpcuser":"hugger", "rpcpass":"gi3afja33"} [14:26] how will this work cross-chain? [14:28] @push We'd have to go through the rpc calls and work out which ones are supported in compatibility mode. Obviously the mining ones don't apply. And some are generic like getinfo. [14:28] ok cool 👍 cheers [14:29] for now we continue using ravencore lib for our plans to keep track i just wondering if better way [14:29] as we had some issue after realising no rpc function for getting addresses of people who had sent rvn [14:29] @push | ravenland.org all of the node explorer and ravencore-lib functionality is based on RPC (including the addressindex-related calls). Nothing you can't do with RPC, although I'm not sure of the use cases you're referring to.. [14:29] interesting, so ravencore lib is using getrawtransaction somehow [14:29] i thought this may be the case [14:29] that is very useful thankyou for sharing this [14:30] look into addressindex flag and related RPC calls for functions that operate on addresses outside your wallet [14:30] thank you that is very useful, tbh i am not very skilled programmer so just decoding the hex at the raven-cli commandline was a challenge, i shall look more into this, valued information thanks as this was a big ? for us [14:31] Ok, things have gone quiet. New topic. [14:31] IPFS (integration) [14:31] GO [14:33] ... [14:33] <[Dev] Blondfrogs> So, we have been adding ipfs integration into the wallet for messaging. This will allow the wallets to do some pretty sweet stuff. For instance, you will be able to create your ipfs data file for issuing an asset. Push it to ipfs from the wallet, and add the hash right into the issuance data. This is going to allow for a much more seamless flow into the app. [14:34] <[Dev] Blondfrogs> This ofcourse, will also allow for users to create messages, and post them on ipfs and be able to easily and quickly format and send messages out on the network with ipfs data. [14:34] It will also allow optional meta-data with each transaction that goes in IPFS. [14:34] will i be able to view ipfs images natively in the wallet? [14:34] <[Dev] Blondfrogs> Images no [14:34] We discussed the option to disable all IPFS integration also. [14:35] @russ (kb: russkidooski) Probably not. There's some risk to being an image viewer for ANY data. [14:35] No option in wallet to opt into image viewing? [14:35] cool so drag and drop ipfs , if someone wanted to attach an object like an image or a file they could drag drop into ui and it create hash and attach string to transaction command parameters automatically [14:35] We could probably provide a link -- with a warning. [14:35] nomore going to globalupload.io [14:35] :ThinkBlack: [14:35] I understand that the wallet will rely on globalupload.io. (phase 1). Is it not dangerous to rely on an external network? Or am I missing something? [14:36] hmm [14:36] interesting, i suppose you could hash at two different endpoints and compare them [14:36] if you were that worried [14:36] and only submit one to the chain [14:36] You will be able to configure a URL that will be used as an IPFS browser. [14:36] Oh ic [14:36] you wont flood ipfs because only one hash per unique file [14:36] <[Dev] Blondfrogs> There are multiple options for ipfs integration. We are building it so you can run your own ipfs node locally. [14:36] <[Dev] Blondfrogs> or, point it to whatever service you would like. e.g. cloudflare [14:36] this is very cool developments, great to see this [14:37] Just like the external block explorer link currently in preferences. [14:37] @[Dev] Blondfrogs what about a native ipfs swarm for ravencoin only? [14:37] We have discussed that as an option. [14:37] @push | ravenland.org Considering having a fallback of upload through globalupload.io and download through cloudflare. [14:37] <[Dev] Blondfrogs> @russ (kb: russkidooski) We talked about that, but no decisions have been made yet. [14:37] yeah, i would just use two endpoints and strcompare the hash [14:37] as long as they agree good [14:37] submit tran [14:38] else 'potentially mysterious activity' [14:38] ? [14:38] if you submitted the file to ipfs api endpoints [14:38] Will the metadata just be a form with text only fields? [14:39] and then you would get 2 hashes, from 2 independent services [14:39] that way you would not be relying on a central hash service [14:39] and have some means of checking if a returned hash value was intercepted or transformed [14:39] i was answering jeroz' question [14:40] about relying on a single api endpoint for upload ipfs object [14:40] We have also kicked around the idea of hosting our own JSON only IPFS upload/browse service. [14:41] I have a service like this that is simple using php [14:41] we only use it for images right now [14:41] but fairly easy to do [14:41] Yup [14:42] Further questions about IPFS? [14:43] contract handling? file attach handling? or just text fields to generate json? [14:44] trying to get an idea of what the wallet will offer for attaching data [14:44] Probably just text fields that meet the meta-data spec. [14:44] ok noted [14:44] What do you mean by contract handling @sull [14:45] We won't prevent other hashes from being added. [14:45] asset contract (pdf etc) hash etc [14:45] <[Dev] Blondfrogs> also, being able to load from a file [14:45] got it, thanks [14:47] Let's do some general Q&A [14:48] Maybe just a heads up or something to look for in the future but as of right now, it takes roughly 12 hours to sync up the Qt-wallet from scratch. Did a clean installation on my linux PC last night. [14:48] Any plans or discussions related to lack of privacy of asset transfers and the ability to front run when sending to an exchange? [14:48] ^ [14:48] Is there a way to apply to help moderate for example the Telegram / Discord, i spend alot of time on both places, sometimes i pm mods if needed. [14:49] Any developed plans for Asset TX fee adjustment? [14:49] also this^ [14:49] @mxL86 We just created a card on the public board to look into that. [14:49] General remark: https://raven.wiki/wiki/Development#Phase_7_-_Compatible_Mode = updated reflecting Tron's explanation. [14:49] @mxL86 That's a great question. We need to do some profiling and speed it up. I do know that the fix we added from Bitcoin (that saved our bacon) slowed things down. [14:50] Adding to @mxL86 the sync times substantially increased coinciding with the asset layer activation. Please run some internal benchmarks and see where the daemon is wasting all its cycles on each block. We should be able to handle dozens per second but it takes a couple seconds per block. [14:50] @BW__ no plans currently for zk proofs or anything if that's what you're asking [14:50] You are doing a great job. Is there a plan that all this things (IPFS) could be some day implemented in mobile wallet? Or just in QT? [14:50] i notice also that asset transactions had some effect on sync time as we were making a few. Some spikes i not analysed the io and cpu activity properly but will if there is interest [14:51] we are testing some stuff so run into things i am happy to share [14:51] @BW__ Might look at Grin and Beam to see if we can integrate Mimble Wimble -- down the road. [14:51] yeees [14:51] @J. | ravenland.org work with the telegram mods. Not something the developers handle. [14:51] i love you [14:51] @J. | ravenland.org That would be best brought up with the operators/mods of teh telegram channel. [14:51] @corby @Tron thnx [14:51] @S1LVA | GetRavencoin.org we're planning on bumping fees to... something higher! [14:51] no catastrophic failures, just some transaction too smals, and mempool issues so far, still learning [14:52] @corby i thought that this may happen :ThinkBlack: [14:52] @corby x10? 100x? 1000x? Ballpark? [14:52] Definitely ballpark. [14:52] 😃 [14:52] 😂 [14:52] Is a ballpark like a googolplex? [14:53] @push | ravenland.org asset transactions are definitely more expensive to sync [14:53] yes yes they are [14:53] they are also more expensive to make i believe [14:53] 10,000x! [14:53] as some sync process seems to occur before they are done [14:53] @traysi ★★★★★ thanks for the suggestions we are going to be looking at optimizations [14:53] But, it is way slower than we like. Going to look into it. [14:53] i do not understand fully its operation [14:53] 1000x at minimum in my opinion [14:53] its too easy to spam the network [14:54] yes there has been some reports of ahem spam lately [14:54] :blobhide: [14:54] 😉 [14:54] cough cough ravenland [14:54] @russ (kb: russkidooski) we're in agreement -- it's too low [14:54] default fee 0.001 [14:54] ^ something around here [14:54] @corby yep we all are i think [14:55] waaay too low [14:55] meaningful transactions start with meaningful capital expense [14:55] though there is another scenario , there are some larger volume, more objective rich use cases of the chain that would suffer considerably from that [14:55] just worth mentioning, as i have beeen thinking about this a lot [14:55] there are some way around, like i could add 1000 ipfs hashes to a single unique entity, i tested this and it does work [14:56] @russ (kb: russkidooski) What would you suggest. [14:57] I had a PR for fee increase and push back. [14:57] Ignore the push back. 0.001 RVN is not even a micro-farthing in fiat terms [14:57] definitely around 1000x [14:57] Vocal minority for sure [14:57] ^ yep [14:57] @russ (kb: russkidooski) That sounds reasonable. [14:57] Couple hundred Fentons [14:58] right now an asset transaction is 0.01 of a penny essentially [14:58] 1 RVN would work now, but not when RVN is over $1. [14:58] yes exactly [14:58] Hi. Late to the party. [14:58] We are also talking about a min fee. The system will auto-adapt if blocks fill up. [14:58] im thinking tron, some heavy transaction use cases would fall out of utility use if that happened [14:58] so whats the thinking there [14:59] is there a way around the problem, bulked ipfs hash transactions? [14:59] 1000x would put us around btc levels [14:59] maybe a minimum 500x? [14:59] @russ (kb: russkidooski) Agreed. [14:59] <[Dev] Blondfrogs> It is time to wrap it up here. Everyone. Thank you all for your questions and thoughts. We will be back in 2 weeks. 😃 [14:59] Small increase and review. [14:59] Thanks all! [14:59] Cheers. [15:00] yeah sorry for 1 million questions guys hope i didnt take up too much time [15:00] cheers all 👍 [15:00] Thanks everyone [15:00] Thanks everyone for participating!!! [15:00] That is what we are here for [15:00] 100x-500x increase, 1000x maximum [15:00] 🍺

submitted by Chatturga to Ravencoin [link] [comments]

WIP: Blackpi - a stake device based on raspberry

Warning: This is a WiP and it's using Blackcoin Lore which is still in beta. Please be aware of that and backup your wallet.dat before you put any real values in this!
UPDATES
29.12.2017
22.06.2017
I am currently trying to set up blackoin on raspberry. Community members asked for a tutorial to compile it, so I will start with this here. Maybe in the future it would even be possible to turn it into a headless (=without screen and keyboard) image to put on an SD card and just boot up the wallet.
I used the latest Blackcoin Lore by janko33 for this process, however it should be quite the same with the "original" core wallet by rat4/johndolittle. Blackcoin Lore is not deemed as stable as it is still in beta, so it's up to you what source tree you take.
Please be also aware, that compiling on a small computer like raspi can take a while. Please also note that Lore is still in beta. The names in the archive are still "bitcoin". There is an update comming where the naming is correct and also maybe a few bugfixes.
** Tutorial: **
You first need to get raspbian. The lite image will work, it's a small version of the operating system without a graphical interface, so you will need ssh to operate it. The image is 294 MB but you will want to have a bigger card. 2GB is certainly too small, better get 16 or even 32GB - you also will need space for the blockchain!
To install it I followed this guide
https://hackernoon.com/raspberry-pi-headless-install-462ccabd75d0
Get the raspdian image file from:
https://www.raspberrypi.org/downloads/raspbian/
Also get Etcher from
https://etcher.io/
Etcher is a tool to write img files to an SD card/USB-stick.
After writing, open the card in your explorer and add a file "ssh". The file sould be empty and just be called "ssh" (not ssh.txt or something). It will tell raspi to activate ssh on boot.
Then boot up your raspi with the card and plug it into your network. Consult your router's LAN-page to find the device, it should register to your router as "raspberry" or so. Open up Putty and login to your raspi using pi as username and raspberry as password.
After login you can configure your raspi, please read the guide linked above for more details.
Note: One important thing that you should configure is your timezone! Use
sudo raspi-config 
Go to 4. Localisation Options and set the time to your timezone. If your time is way off, you would get troubles with staking, so make sure you always have the time set right!
After you got everything set up, get the build environment ready:
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils #Installs alot and can take a while git clone -b Blackcoin-Lore https://github.com/janko33bd/bitcoin Blackcoin-Lore cd Blackcoin-Lore cd depends make -j 6 HOST=arm-linux-gnueabihf cd .. ./autogen.sh ./configure --prefix=`pwd`/depends/arm-linux-gnueabihf 
# note: ` = is a "backtick" not an apostroph. It causes the outpupt of "pwd" being inserted there
make -j 6 # -j n tells the compiler to use more cores, speeds that up a little (n = 1.5*cores installed) sudo make install 
This should compile so far. Update: Lore does not need Berkeley DB 4.8 to be installed, so just go with the DB provided by the repository works (libdb++-dev). (Thanks patcrypt)
After compile you can run the wallet with
lored 
And after it synced you have bitcoin-cli to control the wallet.
Issue: Synching blocks takes an awfully long time on raspi for some reason, even with Lore (that syncs blocks in a few hours instead of a whole day on a normal computer). If anyone knows how to speed up that process, please let us know!
This thread is a WiP. Please post all issues and errors here, I will then edit the OP to make it into a real, working tutorial.
On a note it was mentioned, that using an USB-stick here instead of a card would make sense since the cards are more prone to failure than USB-sticks. I will include setting it up on USB in a later version of this tutorial.
Some tips and tricks
Since compiling takes a longer time, it is recommented to run it in the console in a screen. Screen is a terminal tool that supports multiple windows in the same shell and, most important, detaches when your ssh connection breaks. Using screen you can simply reconnect and use screen -r to attach to your running shell again. To use screen, you need to install and then start it before you start the whole build process within a screen-shell.
sudo apt-get install screen screen #Start install/build process here #Type [ctrl-a] [d] to detach from the screen and put it in the background #After reconnect type screen -r to jump back into your running shell 
If you want to see your blocks being processed while the wallet syncs to the network, use the following command on a second shell (new Putty instance or screen window which you can open in screen with [ctrl-a] [c] (hit [ctrl-a] [n] to cycle through the windows in screen)
watch -n 5 lore-cli getinfo #This will execute the command "bitcoin-cli getinfo" every 5 seconds and thus display live update of your wallet info 
How to use that thing?
Here are a few helpful CLI commands, call them with lore-cli
help - Returns available commands help  - Returns detailed help to a  getinfo - Returns a descriptive information of your wallet, including balance getwalletinfo - Returns short information about your wallet, including balance, unconfirmed balance, immature balance, number of tx ect getaccountaddress 'raspi' - Returns an address for your wallet. If the account does not need to exist, it will be created with new address sendtoaddress   - Sends  to  sendtoaddress   substractfeefromaccount - Sends  minus tx fee to  getnewaddress  - Returns a new address for  each time you call the command.  is optional 
Further plans for this tutorial/project
Have fun!
Donations: B4nn2Y3SFC6whNGNvcQ2MvV1aQbZp3cZVF
submitted by mindphuk to blackcoin [link] [comments]

[P2pool] How to make your own personal p2pool Node!

Tired of getting no block rewards and sending many dead shares? Need a p2pool node close to your miner? MAKE YOUR OWN! :D
And, Yep, P2pools give 0.5% Rewards to block finders!
Here's some info about p2ools: http://whatisp2pool.com/
The stronger the P2Pool network becomes the more resistant the digibyte network is to 51% attacks!
Oh and, P2pools are DDOS proof! Now that's News! So if your node gets DDOS'd .. you dont lose your shares as the shares have been saved in the p2pool, its called the sharechain. So you get paid anyhow! Thanks to the p2pool network. and you ccan set your workers to another pool using the "--failover only" command in cgminer (if im not wrong) and get it back to work on the p2pool network!
TL;DR; P2POOL = 1 Big fat network Decentrazlized pool!
STEPS TO MAKE A P2POOL:
Install Ubuntu server or Desktop if you want http://www.ubuntu.com/download/ or u can use a VPS (VirtualPrivateServer -- Link Below with coupon code)
So Let's start off in the command line (Open Terminal.. and all you have to do is Cut, Copy Paste! ;) )
Start by updating and upgrading Ubuntu, you know you want the best ;)
sudo apt-get update sudo apt-get upgrade sudo apt-get install python-software-properties sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update 
Time for the DigiByteProject dependencies!
sudo apt-get install build-essential libboost-all-dev libcurl4-openssl-dev libdb5.1-dev libdb5.1++-dev git qt-sdk libminiupnpc-dev sudo apt-get install qrencode libqrencode-dev 
And, Now to compile DigiByte on your system!
git clone git://github.com/digibyte/DigiByteProject.git digibyte #renaming makes it easier ;) cd ~/digibyte/src mkdir obj make -f makefile.unix USE_UPNP=- sudo cp digibyted /usbin cd ~ 
After it has compiled try running 'digibyted'
./digibyte/src/digibyted 
If you get an error saying you need to make the digibyte.conf file, good! :) If it doesnt give you that error, make sure you followed the compiling steps appropriately.
So, Lets create the conf file here...
cd .digibyte #edited from 'digibyted' .. fixed!! nano digibyte.conf 
Paste the following, CHANGING THE USERNAME AND PASS!! make sure to take note of both, you'll need these later!
rpcuser=CHANGEusername rpcpassword=ChangePassword daemon=1 server=1 rpcport=14022 port=12024 gen=1 rpcallowip=127.0.0.1 addnode=74.208.230.160 addnode=31.220.25.91 addnode=184.155.218.183 addnode=24.119.23.61 addnode=70.196.193.231 addnode=198.98.118.241 addnode=142.4.204.115 addnode=23.90.191.58 addnode=216.250.125.121 addnode=115.28.31.25 addnode=83.172.105.46 
Press 'CTRL' + ' X', and then 'Y' to save when prompted
cd ~ ./digibyte/src/digibyted ./digibyte/src/digibyted getinfo 
Make sure you check the latest block in the block chain or on your local DigiByte Wallets. This is to see how far your p2pool node has gotten! This is gonna take quite a while so lets CONTINUE!
Let's get the p2pool software and frontend in! Install the p2pool dependencies!
sudo apt-get install python-zope.interface python-twisted python-twisted-web git clone https://github.com/Rav3nPL/p2pool-rav p2pool #renaming it! cd ~/p2pool/digibyte_subsidy #Thanks to Chaeplin sudo python setup.py install 
Time to edit and customise the html code to personalise your p2pool's frontend. Feel free to change the p2pool name and if you're an advanced user, feel free to add your own frontend from git hub after removing the web-static folder. (OPTIONAL: by using rm -f -r web-static #in that directory. And then you can choose whichever frontend you want! by cloning it in the web-static folder)
Editing the current frontend html!
cd .. cd web-static nano index.html 
After personalising the page, i.e. changing the p2pool name and adding some info! Lets go back and check how far the block downloading has gotten! You can check this by typing this in the command line after going back to the root directory:
cd ~ ./digibyte/src/digibyted getinfo 
This is gonna take a while so might as well check for updates again :P
sudo apt-get update sudo apt-get upgrade 
After making sure that all the blocks have been synced locally! We're ready to run the p2pool node! Simply enter the string below in the command line, entering your USERNAME and PASS that you saved earlier!
screen -d -m -S myp2pool ~/p2pool/run_p2pool.py --give-author 0 --net digibyte NEWUSER NEWPASS --outgoing-conns 4 
If you want to charge a fee for your node add this to your string, adding your fee address!:
--fee 1.0 --address NEWDGBADDRESS 
To see if the node is up and running enter this in the command line:
screen -x myp2pool 
'CTRL' + 'A' + 'D' to close the terminal if you press 'CTRL' + 'C', it will terminate the p2pool program and you'll have to restart the pool by using the string above!
Once, Everything is setup as planned! Check your p2pool node's ip Address by entering this into the command line:
ifconfig 
inet addr: 192.168.1.1 #You'll see a line like this.
So, Your cgminer string should look something like this:
cgminer --scrypt -o 192.168.1.1:9022 -u DGBADDRESS -p x
And your p2pool WEB ADDRESS should look like this:
192.168.1.1:9022
example: http://192.168.1.1:9022/
You can monitor your p2pool using that web address! Enjoy, your personal p2pool node!! :D
If for whatever reason the server shuts off and you need to restart the p2pool node, you should run digibyted again and after it has synced successfully, just type in your p2pool string:
./digibyte/src/digibyted
screen -d -m -S myp2pool ~/p2pool/run_p2pool.py --give-author 0 --net digibyte NEWUSER NEWPASS --outgoing-conns 4 --fee 1.0 --address NEWADDRESS
PRESS CTRL + A + D to Detach from screen
UPDATE Follow Guide below if you used this guide before DigibByte v2.0 was released (28th Feb 2014)
You must check whether you're on the right ShareChain. Make Sure the block Value says 7960!
https://bitcointalk.org/index.php?topic=408268.msg5440858#msg5440858
This Tutorial was made with the help of an existing Guide: http://doges.org/index.php?topic=5586.0 Kudos to crypto49er!
If you want to do this on a VPS:
Here's a link to a VPS hosting site:
https://www.digitalocean.com/
Feel free to use my $10 ref. code -- it doesnt really make a difference, though.
https://www.digitalocean.com/?refcode=dc909c442664
Let me know if this guide helped!
submitted by StormMiner to Digibyte [link] [comments]

Use the BTCP full Node on a Ubuntu 16.04 LTS from Terminal

In this post I want to show some use of the CLI BTCP wallet from linux terminal.
DISCLAIMER:
First of all, use this tutorial with small amount of BTCP, for example i used 0,01 BTCP, until you feel confortable with commands. An error can happen easily and as result you can loose your money. Be careful! Do it at your risk!
I consider you have already installed the wallet following this instructions:
https://github.com/BTCPrivate/bitcoinprivate
I use Ubuntu 16.04 LTS 64bit, but commands are similar for the windows client.
Open a terminal from your Ubuntu Desktop:
[email protected]:~$ 
type:
[email protected]:~$ ./BitcoinPrivate/src/btcpd --daemon 
you should see the message:
BTCP server starting 
This means the wallet is running in daemon mode.
to stop the node just typing:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli stop 
Answer:
BTCP server stopping 
You can also run the wallet in terminal, is nice to see it, let's try:
 [email protected]:~$ ./BitcoinPrivate/src/btcpd 
You will see the BTCP logo in text mode and the following info:
Thank you for running a Bitcoin Private node! You're strengthening the network and contributing to a social good. To ensure you are fully protecting your privacy when running BTCP, see . Block height | 340079 Connections | 8 Network solution rate | 8359387 Sol/s You are currently not mining. To enable mining, add 'gen=1' to your btcprivate.conf and restart. Since starting this node 1 minutes, 33 seconds ago: - You have validated 695 transactions! [Press Ctrl+C to exit] [Set 'showmetrics=0' to hide] 
See, you can also mine using the wallet! Nice! Just add gen=1 in the file btcprivate.conf. Probably you will never mine a coin, but still you to strenght the net, so, you can try if you want, then disable it when done:
Press CTRL and C to stop the server, then restart the server in daemon mode otherwhise you have to open a new terminal.
Let's find btcprivate.conf and other useful files:
[email protected]:~$ cd .btcprivate [email protected]:~/.btcprivate$ ls 
Answer:
blocks btcprivate.conf chainstate db.log debug.log fee_estimates.dat peers.dat wallet.dat 
You see here: btcprivate.conf and wallet.dat
Edit configuration file:
[email protected]:~/.btcprivate$ pico btcprivate.conf 
add gen=1 if you want to mine, then CTRL X and Y to save.
Restart the wallet....and....
Block height | 340091 Connections | 8 Network solution rate | 8211926 Sol/s Local solution rate | 0.0075 Sol/s Since starting this node 8 minutes, 5 seconds ago: - You have validated 684 transactions! - You have completed 1 Equihash solver runs. You are mining with the default solver on 1 threads. 
Congratulations! You are mining!
Now have a look to the wallet.dat file:
Nb: wallet.dat is your wallet!! If you delete it you will loose all your money!!!
wallet.dat is not encrypted, so, if you want to backup it i do as follows:
[email protected]:~/.btcprivate$ cp wallet.dat home/btcp/Desktop/wallet_btcp_back.dat 
Now you will find the wallet on your desktop. Zip it with an AES256 encryption and a strong password. Test if it works properly: extract it again and copy it in the directory, but before make an other copy of the wallet.dat file. Beware! I almost deleted the file once!
Nb: wallet.dat is your wallet!! If you delete it you will loose all your money!!!
Go back to your home directory, now, we want to play with our wallet:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli help 
if everything is running properly, you will see a list of commands like this:
z_exportwallet "filename" z_getbalance "address" ( minconf ) z_getnewaddress z_getoperationresult (["operationid", ... ]) z_getoperationstatus (["operationid", ... ]) z_gettotalbalance ( minconf ) z_importkey "zkey" ( rescan startHeight ) z_importwallet "filename" z_listaddresses z_listoperationids z_listreceivedbyaddress "address" ( minconf ) z_sendmany "fromaddress" [{"address":... ,"amount":...},...] ( minconf ) ( fee ) z_shieldcoinbase "fromaddress" "tozaddress" ( fee ) zcbenchmark benchmarktype samplecount zcrawjoinsplit rawtx inputs outputs vpub_old vpub_new zcrawkeygen zcrawreceive zcsecretkey encryptednote zcsamplejoinsplit [email protected]:~$ 
Nice! Wallet is running properly. Now try an other command: getinfo
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getinfo 
Answer:
{ "version": 1001251, "protocolversion": 180004, "walletversion": 60000, "balance": 0.00000000, "blocks": 340074, "timeoffset": 0, "connections": 8, "proxy": "", "difficulty": 167290.7158221716, "testnet": false, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000, "relayfee": 0.00000100, "errors": "" } [email protected]:~$ 
You see some useful info about your wallet/node:
blocks is the block heights, in this case is synced with the network. If not the number would be lower.
The wallet is connected to other 8 nodes, the balance is 0.00 BTCP
An other info command can be getblockchaininfo:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getblockchaininfo 
Answer:
{ "chain": "main", "blocks": 340074, "headers": 340074, "bestblockhash": "0000000145c0011d8e914f4ba68d1443c7ae0dd15bdf0bc300994dd5282710aa", "difficulty": 165971.1181999981, "verificationprogress": 0.9999992572690658, "chainwork": "0000000000000000000000000000000000000000000000000002e8314e4484da", "pruned": false, "commitments": 663480, 
we see syncing is almost finished:
"verificationprogress": 0.9999992572690658, (99,99999%)
Now test the wallet with command getwalletinfo
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
Answer:
{ "walletversion": 60000, "balance": 0.00000000, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 0, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } [email protected]:~$ 
Now we want to send some btcp to this wallet. First we need an address, get one using getnewaddress:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getnewaddress 
Answer:
b1Cabjwvcce7N8ea9Gxxxxxxxxxxxxxxxx [email protected]:~$ 
Send at this address some BTCP, i sent 0.01 for testing purpose using your ledger, or your wallet, then check if the transaction is done:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
Answer:
{ "walletversion": 60000, "balance": 0.00000000, "unconfirmed_balance": 0.01000000, "immature_balance": 0.00000000, "txcount": 1, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } 
Done! Unconfirmed balance is 0.01! Just wait some confirmations.
after a while:
"walletversion": 60000, "balance": 0.01000000, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 1, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 
Now send the coins to a new address. I am using this command:
sendtoaddress "btcpaddress" amount ( "comment" "comment-to" subtractfeefromamount )
subtractfeefromamount parameter can be true or false
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli sendtoaddress "b1Nb42GoK9kmsxxxxxxxxxxxxx" 0.01 "" "" true 
Answer:
2c5d3d1a3b5eec414b721d3817487f53c5eebxxxxxxxxxxxxxxx [email protected]:~$ 
Now check the wallet:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
Answer:
{ "walletversion": 60000, "balance": 0.00999808, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 2, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } 
I sent BTCP to the same wallet, so now i have less BTCP because of the fees.
try more commands:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listreceivedbyaddress 
Answer:
[ { "address": "b1Ep2wi2tUnKf433Vaxxxxxxxxxxxx", "account": "", "amount": 0.01000000, "confirmations": 6, "txids": [ "833533440a13c09fda6e90d0c5xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] }, { "address": "b1Nb42GoK9kmsVZ9KPxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "account": "", "amount": 0.00999808, "confirmations": 1, "txids": [ "2c5d3d1a3b5eec414b721d3817487f53c5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] } 
This is the list of all used addresses.
Now find the money and the address where they are: use listunspent
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listunspent 
Answer:
[ { "txid": "2c5d3d1a3b5eec414b721d381748xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "vout": 0, "generated": false, "address": "b1Nb42GoK9kxxxxxxxxxxxxxx", "account": "", "scriptPubKey": "76a914c6bdf3bc8aedxxxxxxxxxxxxxxxxxx", "amount": 0.00999808, "confirmations": 6, "spendable": true 
Well done.
Other useful commands can be: dumpprivkey to extract the private key from an address
Be careful! Exposing your private keys will end in loosing your money
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli dumpprivkey b1Ep2wi2tUnxxxxxxxxxxx 
Obtaining the pvt key:
Kz29e62Bmxxxxxxxxxxxxxxxxxxxxxxx 
And now, swipe the private key using the command: importprivkey "btcpprivkey" ( "label" rescan )
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli importprivkey "Kz29e62Bmxxxxxxxxxxxxxxxxxxxxx" "" true 
Let's do a shielded transaction!
first, you must have a z_address:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_getnewaddress 
Answer:
zkEvCiVwgHb3NFi2ee9HGPjno2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
Check balaces, with also z_addres:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_gettotalbalance 
Answer:
{ "transparent": "0.00999808", "private": "0.00", "total": "0.00999808" } 
Now send some BTCP to the z_address. First, check where BTCP are:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listunspent 
Output:
[ { "txid": "72f568d1ed51524b69f1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "vout": 0, "generated": false, "address": "b1LDhxBJxxxxxxxxxxxxxxxxxxxxxx", "scriptPubKey": "76axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe088xx", "amount": 0.00889808, "confirmations": 556, "spendable": true } ] 
Now, sent a little transparent amount to the shielded address we got before:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_sendmany "b1LDhxBJxxxxxxxxxxxxxxxxxxxxxx" "[{\"amount\":0.001, \"address\":\"zkEvCiVwgHb3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"}]" 
Output:
opid-xxxxxxx-36c4-xxxx-beb2-xxxxxxxxxxxx 
Now your PC will work a while, it's CPU consuming...so...check:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_getoperationresult 
until you receive the answer:
[ { "id": "opid-xxxxxx-xxxxx-4a5d-beb2-xxxxxxxxxx", "status": "success", "creation_time": 1529426885, "result": { "txid": "f87e8d5e96a8a0xxxxxxxxxxxxxxx" }, "execution_secs": 216.686332567, "method": "z_sendmany", "params": { "fromaddress": "b1LDhxxxxxxxxxxx", "amounts": [ { "amount": 0.001, "address": "zkEvCiVwgHb3NFxxxxxxxxxxxxxxxxxxR" } ], "minconf": 1, "fee": 0.0001 } } ] 
Done! On my old PC it took 216.68 seconds!
Next will be a reverse operation, from Shielded address to transparent address. See you soon....
Play with your full node wallet and have fun.
Remember: these commands are almost the same in all the bitcoin based coins, so you also learnt how to use many other wallets!
submitted by xivan71 to u/xivan71 [link] [comments]

Created a full node in ~8 minutes thanks to the contributions of another redditor. Feels great. Please no tips, just sharing information.

Hello /Bitcoin
I just wanted to say that if any of you have been considering starting a bitcoin node, you should do it. I am a programmer, but I've never dabbled into cloud hosting and I've never done anything "advanced" with bitcoin before (I really don't consider this advanced).
I just want to say that this process is super easy:
  1. Get a cloud hosted machine from your provider of choice. I went with Digital Ocean.
  2. Run this script*, or a version of this script (this one was submitted by ymmv2). In my case I made a few modifications to fit my personal needs/choices.
  3. Check the status of the node, both on the node and from an external source.
On the node, run: $bitcoind getinfo
From an external source: https://getaddr.bitnodes.io just plug in the IP of your machine to verify that its accepting incoming connections on port 8333.
Currently my machine has 12 active connections according to bitcoind:
$ bitcoind getinfo
{
"version" : 90300, "protocolversion" : 70002, "walletversion" : 60000, "balance" : 0.00000000, "blocks" : 143913, "timeoffset" : -1, "connections" : 12, "proxy" : "", "difficulty" : 1777774.48200146, "testnet" : false, "keypoololdest" : 1416794587, "keypoolsize" : 101, "paytxfee" : 0.00000000, "relayfee" : 0.00001000, "errors" : "" 
}
That is really all you need to get stared!
For me, this was just a trial run on an inexpensive box. I am going to learn bitcoind better and once I get a handle on it, I may do some more advanced stuff (I may also host a litecoin node) on a more powerful box, but for now this was a great way to get my feet wet and give something back to the bitcoin network.
I would also like to use the map on https://getaddr.bitnodes.io to deploy another node in a part of the world that is lacking in nodes, such as Africa or South America, but I would have to find a cloud hosting solution that offers boxes in that region. For now I deployed my node in the Bay Area, SF.
*NOTE: Never sudo a script from the internet unless you know what it does. In my case, I analyzed and understood every command in that script and so I was aware of what I was doing. If you don't know what certain commands do, such as "dd" or how the apt-get system works, I definitely recommend that you google for the manpages and or documentation of each tool and get to know the tool before you just run stuff you saw on github.
Lastly: The IP of the node: 104.236.181.78 (Currently up with more storage and more horsepower)
UPDATE - I took the node down temporarily, it is coming back up in about 20 minutes (currently 11:15PM CST) with a new IP on a faster box with more storage.
Update: Woot, up to 20 connections and rising slowly. I think I will definitely be purchasing a more powerful box in the near future to really serve as many clients as possible, then move this smaller node to Europe until I find cloud hosting in South America and/or Africa. To the moon!
submitted by gunslinger_006 to Bitcoin [link] [comments]

BitcoinGOD v0.1.4.0 Released

The new version 0.1.4.0 has been released. In the new version, further optimization has been made for the network node robustness. According to the feedback of BitcoinGOD community users, the user experience is improved.
Download
  1. Optimize the network protocol and enhance the robustness of network nodes
  2. Optimize debug log output, no longer record mining log, so debug log file will be greatly reduced
  3. The Block time verification of POS mining is optimized, and the verification mechanism of POS mining is enhanced to improve the fairness of the main chain
  4. Add checkpoint to improve network security against malicious attacks
  5. Add TestNet
Run TestNet Command:
bitcoingodd -testnet -datadir= -rpcuser= -rpcpassword=
e.g: bitcoingodd -testnet -datadir=D:\datadir -rpcuser=zhangsan -rpcpassword=123456
Execute Rpc Command in TestNet:
bitcoingod-cli -rpcport=18886 -rpcuser= -rpcpassword= getinfo
e.g: bitcoingod-cli.exe -rpcport=18886 -rpcuser=zhangsan -rpcpassword=123456 getinfo
submitted by BitcoinGodOrg to u/BitcoinGodOrg [link] [comments]

Uso del Full Node Wallet BTCP Bitcoin Private da Terminale Linux

In questo post voglio dimostrare alcuni utilizzi del Full Node Wallet Bitcoin Private da terminale Linux
AVVERTENZA:
Usate questo tutorial con un piccolo quantitativo di BTCP, nell'esempio utilizzo 0,01 BTCP, almeno fino a quando non vi sentite sicuri nell'uso dei comandi. Fate attenzione! I comandi vengono eseguiti senza possibilità di annullarli, salvo in casi eccezionali, quindi fate tutto a vostro rischio.
PREMESSA:
Il wallet è già stato installato sul vostro PC o in un server Cloud usando le seguenti istruzioni:https://github.com/BTCPrivate/bitcoinprivate
Io uso una Ubuntu 16.04 LTS 64bit, ma i comandi sono simili anche per la distribuzione Windows.
Andrebbe anche aperta la porta TCP 7932 per avere un wallet perfettamente funzionante, ma ho fatto le prove senza aprirla.
Come attivare il firewall:
sudo ufw status
Please note: Make sure you enter the code in this order! If you do not, the program will not work! (If need be you can disable your firewall by entering: sudo ufw disable)
sudo ufw default allow outgoing sudo ufw default deny incoming sudo ufw allow ssh/tcp sudo ufw limit ssh/tcp sudo ufw allow http/tcp sudo ufw allow https/tcp sudo ufw allow 7932/tcp sudo ufw logging on sudo ufw enable
Apri un nuovo terminale troverai il prompt dei comandi, il mio è così, ma potrebbe essere differente:
[email protected]:~$ 
Scrivi quello che segue e premi invio:
[email protected]:~$ ./BitcoinPrivate/src/btcpd --daemon 
dovrebbe apparire il seguente messaggio:
BTCP Server Starting 
Questo significa che hai avviato il server (full node wallet) in modalità daemon, silenziosa. Per fermarlo scrivi:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli stop 
Otterrai la risposta:
BTCP server stopping 
Puoi anche avviare il wallet in una finestra del terminale e vederlo lavorare, anzichè usare il comando --daemon
[email protected]:~$ ./BitcoinPrivate/src/btcpd 
Vedreai apparire un logo del BTCP formato da tanti caratteri e la seguente scritta:
Thank you for running a Bitcoin Private node! You're strengthening the network and contributing to a social good. To ensure you are fully protecting your privacy when running BTCP, see . Block height | 340079 Connections | 8 Network solution rate | 8359387 Sol/s You are currently not mining. To enable mining, add 'gen=1' to your btcprivate.conf and restart. Since starting this node 1 minutes, 33 seconds ago: - You have validated 695 transactions! [Press Ctrl+C to exit] [Set 'showmetrics=0' to hide] 
Block height è l'allineamento del wallet con la blockchain, richiede tempo perchè si allinei e scarichi tutta la blockchain, dipende dalla velocità del tuo collegamento e del tuo pc.Connections: 8 sono i nodi a cui è collegato il nostro wallet, che è un vero e proprio nodo.
Network solution rate è la "potenza" di tutta la rete di elaborare i blocchi in Sol/s
Con un full node puoi partecipare anche tu a rafforzare la rete, abilitando il mining. Si tratta di un solo mining, quindi le probabilità di risolvere un blocco sono veramente minime.
Per farlo basta aggiungere la voce gen=1 nel file btcprivate.conf
Proviamo a farlo. Blocchiamo il nodo con il comando CTRL + C e aspettiamo che appaia il prompt di comando.
Appena appare, inseriamo i seguenti comandi:
[email protected]:~$ cd .btcprivate [email protected]:~/.btcprivate$ ls 
ci siamo spostati nella directory nascosta (inizia per .) contenente i file di configurazione di BTCP, ls mostra i file contenuti:
blocks btcprivate.conf chainstate db.log debug.log fee_estimates.dat peers.dat wallet.dat 
puoi vedere il file btcprivate.conf e wallet.dat che è il file del wallet del nodo. Editiamo ora il file di configurazione, io uso PICO, un text editor per linux, ma potete usare anche vi se preferite:
[email protected]:~/.btcprivate$ pico btcprivate.conf 
inserite gen=1 in una riga vuota del file di configurazione e poi chiudete l'editor salvando con i comandi CTRL+X e Y
gen=1 
tornate nella directory home:
[email protected]:~/.btcprivate$ cd 
Fate riavviare il wallet con il comando:
[email protected]:~$ ./BitcoinPrivate/src/btcpd 
Otterrete il seguente output:
Block height | 340091 Connections | 8 Network solution rate | 8211926 Sol/s Local solution rate | 0.0075 Sol/s Since starting this node 8 minutes, 5 seconds ago: - You have validated 684 transactions! - You have completed 1 Equihash solver runs. You are mining with the default solver on 1 threads. 
Congratulazioni! State minando!
Ora diamo un occhiata al file wallet.dat
ATTENZIONE:
wallet.dat è il vostro wallet, se lo cancellate o lo riscrivete perderete tutti i BTCP che contiene. Consiglio di farne una copia ma attenzione: wallet.dat non è crittografato, quindi vi consiglio di crittografarlo prima di spostarlo dal PC: primo faccio una copia.
Bloccate nuovamente il wallet con CTRL+C
Al prompt scrivete:
[email protected]:~$ cd .btcprivate 
Poi copiate il file sul Desktop (scrivania) Sostituite la parola Desktop con Scrivania se avete installato Linux in Italiano
[email protected]:~/.btcprivate$ cp wallet.dat home/btcp/Desktop/wallet_btcp_back.dat 
Ora troverete il file wallet_btcp_back.dat sulla scrivania, crittografatelo AES256 usando il gestore degli archivi GUI e impostando una password resistente. Per verificare che tutto funzioni, vi consiglio di fare una altra copia di wallet.dat, estrarre il file dall'archivio crittato e sostituirlo al wallet.dat. se tutto funziona siete a posto. Se non siete sicuri non fate nulla e non usate questo wallet per mettere i vostri BTCP, ma nolo per scopi didattici con pochi spiccioli. E' facile fare errori e perdere tutto.
Tornate alla directory home e riavviate il server in daemon mode.
proviamo alcuni comandi usando il client: btcp-cli
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli help 
Se tutto funziona correttamente vi risponderà con la lista di tutti i comandi disponibili:
z_exportwallet "filename" z_getbalance "address" ( minconf ) z_getnewaddress z_getoperationresult (["operationid", ... ]) z_getoperationstatus (["operationid", ... ]) z_gettotalbalance ( minconf ) z_importkey "zkey" ( rescan startHeight ) z_importwallet "filename" z_listaddresses z_listoperationids z_listreceivedbyaddress "address" ( minconf ) z_sendmany "fromaddress" [{"address":... ,"amount":...},...] ( minconf ) ( fee ) z_shieldcoinbase "fromaddress" "tozaddress" ( fee ) zcbenchmark benchmarktype samplecount zcrawjoinsplit rawtx inputs outputs vpub_old vpub_new zcrawkeygen zcrawreceive zcsecretkey encryptednote zcsamplejoinsplit [email protected]:~$ 
Benissimo! Ora proviamo ad usare qualche comando, comunciamo con getinfo
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getinfo 
Risposta:
{ "version": 1001251, "protocolversion": 180004, "walletversion": 60000, "balance": 0.00000000, "blocks": 340074, "timeoffset": 0, "connections": 8, "proxy": "", "difficulty": 167290.7158221716, "testnet": false, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000, "relayfee": 0.00000100, "errors": "" } [email protected]:~$ 
Nella risposta troverete alcune informazioni sul wallet, versione, block height, connections, balance = 0 ecc ecc
Proviamo ora getblockchaininfo:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getblockchaininfo 
Risposta:
{ "chain": "main", "blocks": 340074, "headers": 340074, "bestblockhash": "0000000145c0011d8e914f4ba68d1443c7ae0dd15bdf0bc300994dd5282710aa", "difficulty": 165971.1181999981, "verificationprogress": 0.9999992572690658, "chainwork": "0000000000000000000000000000000000000000000000000002e8314e4484da", "pruned": false, "commitments": 663480, 
La sincronizzazione in questo caso è terminata:"verificationprogress": 0.9999992572690658, (99,99999%)
Ora proviamo getwalletinfo
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
Risposta:
{ "walletversion": 60000, "balance": 0.00000000, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 0, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } [email protected]:~$ 
Proviamo a ricevere dei BTCP da un wallet esterno, per prima cosa abbiamo bisogno di un transparent address da comunicare a chi ci invia i BTCP. Lo otteniamo con il comando getnewaddress:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getnewaddress 
Risposta: otteniamo un indirizzo (le xxx le ho aggiunte per mascherarlo)
b1Cabjwvcce7N8ea9Gxxxxxxxxxxxxxxxx [email protected]:~$ 
Inviate con un vostro wallet grafico o con electrum pochi BTCP, io ne ho mandati 0.01 per prova, dopo che li avete inviati, verificate se sono arrivati:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
Risposta:
{ "walletversion": 60000, "balance": 0.00000000, "unconfirmed_balance": 0.01000000, "immature_balance": 0.00000000, "txcount": 1, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } 
Arrivati ! "Unconfirmed balance" 0.01! non sono ancora confermati, quindi aspettate un po' e ripetete il comando:
"walletversion": 60000, "balance": 0.01000000, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 1, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 
Adesso balance è 0.01 perfetto!
Proviamo adesso ad inviare questi BTCP ad un nuovo T-Address, per semplicità li invierò ad un indirizzo di questo wallet
Generiamo un nuovo indirizzo per riceverli:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getnewaddress 
Otteniamo:
b1Nb42GoK9kmsxxxxxxxxxxxxx 
copiamo l'indirizzo e usiamo il comando sendtoaddress "btcpaddress" amount ( "comment" "comment-to" subtractfeefromamount )
il parametro subtractfeefromamount puo' essere true or false a seconda se vogliamo che le fee vengano detratte dall'ammontare inviato o meno. Io invio tutto quanto al nuovo indirizzo e quindi le fee vanno dedotte da questo:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli sendtoaddress "b1Nb42GoK9kmsxxxxxxxxxxxxx" 0.01 "" "" true 
Risposta:
2c5d3d1a3b5eec414b721d3817487f53c5eebxxxxxxxxxxxxxxx [email protected]:~$ 
Controlliamo cosa è successo:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
Risposta:
{ "walletversion": 60000, "balance": 0.00999808, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 2, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } 
Come vedete i BTCP sono diminuiti, perchè sono stati spostati su un nuovo indirizzo dello stesso wallet, pagando le fee. Ora vediamo esattamente dove sono e dove erano:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listreceivedbyaddress 
Risposta:
[ { "address": "b1Ep2wi2tUnKf433Vaxxxxxxxxxxxx", "account": "", "amount": 0.01000000, "confirmations": 6, "txids": [ "833533440a13c09fda6e90d0c5xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] }, { "address": "b1Nb42GoK9kmsVZ9KPxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "account": "", "amount": 0.00999808, "confirmations": 1, "txids": [ "2c5d3d1a3b5eec414b721d3817487f53c5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] } 
Questo comando vi da informazione di tutti gli indirizzi usati, vediamo solo gli indirizzi non spesi: listunspent
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listunspent 
Risposta:
[ { "txid": "2c5d3d1a3b5eec414b721d381748xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "vout": 0, "generated": false, "address": "b1Nb42GoK9kxxxxxxxxxxxxxx", "account": "", "scriptPubKey": "76a914c6bdf3bc8aedxxxxxxxxxxxxxxxxxx", "amount": 0.00999808, "confirmations": 6, "spendable": true 
Ottimo!
Ora possiamo provare un comando che ci permette di estrarre la chiave provata da un indirizzo pubblico. Questo puo' essete utile in occasione di Fork o Airdrop per estrarre le monete.
ATTENZIONE: esporre a terzi le chiavi private è rischioso. Potrebbero rubare tutto il contenuto. Fate molta attenzione. Estraete le private keys solo se necessario o per fare delle prove su indirizzi che contengono pochi spicci. In ogni caso, dopo aver usato la private key meglio non riutilizzare quell'indirizzo.
Il comando da utilizzare è dumpprivkey T-ADDRESS
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli dumpprivkey b1Ep2wi2tUnxxxxxxxxxxx 
L'output sarà tipo il seguente, al solito la chiave è mascherata con delle xxxxxx
Kz29e62Bmxxxxxxxxxxxxxxxxxxxxxxx 
Ora proviamo lo swipe della chiave, cioè il wallet andrà a cercare nella blockchain tutti gli importi collegati a quella pvt key, : importprivkey "btcpprivkey" ( "label" rescan )
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli importprivkey "Kz29e62Bmxxxxxxxxxxxxxxxxxxxxx" "" true 
Ora proviamo a fare delle Shielded Transaction, queste transazioni utilizzano la tecnologia zk-Snark per mascherare importi e indirizzi. Per prima cosa dobbiamo ottenere un indirizzo Shielded dal nostro wallet.
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_getnewaddress 
Eccolo generato:
zkEvCiVwgHb3NFi2ee9HGPjno2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
Vediamo dove sono i nostri BTCP, al momento sono solo su indirizzi Transparent:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_gettotalbalance 
Answer:
{ "transparent": "0.00999808", "private": "0.00", "total": "0.00999808" } 
ora mandiamo qualche BTCP all'indirizzo z_address. Per prima cosa dobbiamo recuperare l'indirizzo t-address dove si trovano:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listunspent 
Eccoli:
[ { "txid": "72f568d1ed51524b69f1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "vout": 0, "generated": false, "address": "b1LDhxBJxxxxxxxxxxxxxxxxxxxxxx", "scriptPubKey": "76axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe088xx", "amount": 0.00889808, "confirmations": 556, "spendable": true } ] 
Adesso mandiamo un po' di BTCP all'indirizzo Shielded che abbiamo ottenuto sopra. Il comando è abbastanza complicato ma funziona cosi':
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_sendmany "b1LDhxBJxxxxxxxxxxxxxxxxxxxxxx" "[{\"amount\":0.001, \"address\":\"zkEvCiVwgHb3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"}]" 
Risultato:
opid-xxxxxxx-36c4-xxxx-beb2-xxxxxxxxxxxx 
Una transazione zk-Snark è piuttosto pesante da elaborare, il mio vecchio PC ci mette un po'. Meglio disattivare processi inutili. Si puo' controllare se l'operazione è andata a buon fine:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_getoperationresult 
al termine dovreste ricevere il seguente output:
[ { "id": "opid-xxxxxx-xxxxx-4a5d-beb2-xxxxxxxxxx", "status": "success", "creation_time": 1529426885, "result": { "txid": "f87e8d5e96a8a0xxxxxxxxxxxxxxx" }, "execution_secs": 216.686332567, "method": "z_sendmany", "params": { "fromaddress": "b1LDhxxxxxxxxxxx", "amounts": [ { "amount": 0.001, "address": "zkEvCiVwgHb3NFxxxxxxxxxxxxxxxxxxR" } ], "minconf": 1, "fee": 0.0001 } } ] 
Fatto! Sul mio vecchio PC ci sono voluti 216,68 secondi!
La prossima prova sarà un invio da indirizzo Shielded a Transparent.
Play with your full node wallet and have fun.Remember: these commands are almost the same in all the bitcoin based coins, so you also learnt how to use many other wallets!
submitted by xivan71 to u/xivan71 [link] [comments]

Bitcoin Unlimited - Bitcoin Cash edition 1.2.0.0 has just been released

Download the latest Bitcoin Cash compatible release of Bitcoin Unlimited (1.2.0.0, January 7, 2018) from:
 
https://www.bitcoinunlimited.info/download
 
This release implements Bitcoin Cash, compliant with the latest hard fork (Nov 13, 2017) and adding CashAddr and Bitpay address format support
 
The main changes of this release is the introduction of the cashaddr new address format. The specification for this new address encoding could be find here. The old format continue to be supported and won't be deprecated, The old format will remain the default till January 14th, 2017, on that day the new format will be used as default new format automatically. A command line flag -usecashaddr and configuration parameter could be used to select which format to by default.
Add limited support to BitPay Bitcoin Cash addresses format, this new format is accepted in any time an address is requested, and you can show the BitPay address form using the getaddressforms RPC. However BitPay-form addresses are not displayed in the GUI or as responses to any other RPCs.
Other notable changes:
 
Release notes: https://github.com/BitcoinUnlimited/BitcoinUnlimited/blob/BitcoinCash/doc/release-notes/release-notes-bucash1.2.0.0.md
 
Ubuntu PPA is in the process of being updated.
submitted by s1ckpig to bitcoin_unlimited [link] [comments]

Blackcoin Wallet Passphrase mistyped - Bruteforce

Summary: I executed a (limited!) brute force attack on a wallet where I mistyped the passphrase. Attached is a short tutorial how to make it.
Long story: some months ago I created a wallet. I keyed in my passphrase with 70 characters long (yes it is long), wrote it down, bought Blackcoin. Next day I tried to open it, but it seems to be that I mistyped (two times) the passphrase. So I started to make a long research how to "hack" it. I finally figured that I can make a limited brute force attack by using RPC. So, I got familiar with curl (RPC tool) and created a batch-script with Excel where I just changed one character per try. I ended with 5200 tries.
And boom: It worked! It was try number 2814 which worked. So, I really just mistyped one single character. The wallet has been opened once again. So now I have access to my Blackcoins.
-----TUTORIAL-----
I was using the old blackcoin-qt (on windows) because the wallet was created with this one. I do not know if it is compatible with lore. Situation is that you remember (more or less) the passphrase, but you think that you just mistyped one character. Idea is to make a limited brute force attack on the wallet - so, to test different passphrase which are similar to your remembered one.
we will create a script (batch) which calls the blackcoin-qt (as server) via RPC and try to open the wallet with different passphrases.
What did not work
I found some hints concerning hashcat and bitcoin2john (also for Blackcoin), which enable you to retrieve the seed out of the wallet and to make a bruteforce on the hash of the seed (with hashcat). But it did not work, because the blackcoin wallet seems to be different than the bitcoin wallet.
There is also no direct commandline parameter for opening the wallet with passphrase. So I started to work with RPC.
Using the blackcoin-qt as a server
Switch into C:\Users\myusername\AppData\Roaming\BlackCoin and place a blackcoin.conf file here. This should contain (at least) these entries:

server=1 tells BlackCoin to accept JSON-RPC commands.

server=1

You must set rpcuser and rpcpassword to secure the JSON-RPC api

rpcuser=user
rpcpassword=password

Listen for RPC connections on this TCP port:

rpcport=15715

You can use BlackCoin or blackcoind to send commands to Bitcoin/bitcoindBlackCoin/blackcoind

running on another host using this option:

rpcconnect=127.0.0.1
...Start blackcoin from the commandline with the server parameter like this: blackcoin-qt -server=1
Test RPC Calls with curl
Download curl (an RPC tool for the commandline): https://curl.haxx.se/
For this test you should use a new generated wallet with a password you know.
First test with the getinfo method, which shows you if the connection to the Blackcoin Daemon is established: curl --header "Content-Type: application/json" --data-binary "{\"jsonrpc\":\"1.0\",\"id\":\"curltest\",\"method\":\"getinfo\",\"params\":[]}" http://user:[email protected]:15715/
If you do not get any connection, you can also use netstat -a to see if your machine is listening on the port 15715.
Finally, the method to open the wallet via RPC (uses two parameters) curl --header "Content-Type: application/json" --data-binary "{\"jsonrpc\":\"1.0\",\"id\":\"curltest\",\"method\":\"walletpassphrase\",\"params\":[\"mySecretWalletPassword\",50]}" http://user:[email protected]:15715/
Note the output you get, when you use the correct password: {"result":null,"error":null,"id":"curltest"}
Later we want to search in a logfile for the expression "error":null in order to identify the correct password
Generating the Bruteforce Script
I used an Excel file to create a script. On the basis of the so-far-remembered-passphrase and a selection of possible characters this scripts changes for each row only one character. I ended up with roughly 5000 rows, but I used a very long passphrase (70 characters). Using the Excel output you can create a script out of it.
If you are interested in the Excel file you can contact me on bitcointalk - my username is "Euro1000"
Execution
Start the script (batch) and pipe the output into a log: myScript.bat > log.txt
When the batch finished search for the expression "error":null If you found it, you found the password in the line above the expression.
Limitations
I used the old blackcoin-qt (not Lore), because the wallet has been generated with blackcoin-qt. Lore should use the same RPC implementation, but it is untested if this tutorial also works with Lore.
I used this on Windows I do not know if this will also work on Linux.
Some special characters are a little bit tricky in curl, because some of them like "<" let curl crashes. Perhaps you can escape these special characters somehow.
submitted by coindestroyer to blackcoin [link] [comments]

Emercoin 0.5.2 Release available!

What's new:
1) Merged with bitcoin 0.10.4. This allows to create transactions that cannot be spent until certain time/height;
2) QT and CLI now has unicode support by default (Univalue lib). This will display Unicode symbols in name value, but please note: do not use it for binary data;
3) RPC can also enable unicode, but you need to specify "-legacyrpc=0" in your emercoin.conf;
4) Name commands now have parameter for binary input/output as a hex or base64 encoded strings;
5) Some minor bugfixes (emercoin-cli could crash client during client startup);
6) More info about wallet lock state in getinfo ("encrypted": true, "mintonly": true);
7) Added ENUM support (http://www.voip-info.org/wiki/view/ENUM).
submitted by EmerCoin to EmerCoin [link] [comments]

In the event of a transaction spam attack, defend your node

I'm sure most of you know that Coinwallet.eu plans to spam the network in September.
They will be generating 20 new transactions every second. With each transaction about 3KB in size this will quickly start to create transaction backlog, and node's mempool to grow (20tx * 3KB * 60seconds=3600KB per minute, or 36MB per 10 minutes).
Attacker will be paying a fee of 0.0001 btc per transaction, that's 0.00003333 btc per KB. Default relay policy (threshold) in clients v0.10 and v0.11 is 0.00001000 btc per KB, but there is a command line and config option to alter this: minrelaytxfee, and limitfreerelay:
To defend your node's resources if under a spam attack, alter this defaults by adding options into bitcoin.conf and restarting the client (or starting the client with command line options). Like:
minrelaytxfee=0.00005 limitfreerelay=5 
To make sure these settings have taken effect, in the debug console type: "getinfo" and check the values.
submitted by ujka to bitcoinxt [link] [comments]

Importing private key using RPC client

Hello,
I am trying to import a privatekey from a PHP page (with jsonrpcphp).
\n"; if(isset($_GET['importprivkey'])){ try { $output=$bitcoin->importprivkey($_GET['importprivkey'], "myprivatekey"); $output="Success"; }catch(Exception $e) { $output="Error"; } echo $output; } ?> 
But when I execute the code with a correct private key, the pages loads during +30s, freeze, and I am unable to make any request using the JSON API (getinfo ..).
Using the terminal to execute bitcoin-cli does not work when the "freeze" happens
I am forced to use "kill -9 PID" (with the PID of bitcoind).
And then, when I restart bitcoind and refresh my php page, it works: the private key is imported..
Any ideas ?
submitted by Bzh2610 to Bitcoin [link] [comments]

The Monero Missives (weekly report) - June 10th, 2014

Original post is here
Monero Missives
June 10th, 2014
Hello XMR users! Welcome to our second Monero Missives.
Major Updates
  1. We're happy to introduce a major new feature for Monero: deterministic wallets based on a mnemonic seed! When creating a new wallet you now get a 24 word seed that you can use to restore the wallet. Usage: This affects simplewallet, and is the default behaviour for --generate-new-wallet. If you would like to disable the deterministic seed during wallet generation, you can pass the --non-deterministic flag. To restore from a seed you can use the --restore-deterministic-wallet flag. This provides a MAJOR benefit in that backing up your wallet no longer requires backing up the .bin.keys file! All you have to do is write down the 24 words and that's the only backup you need. If you're particularly brave you can even memorise the 24 words. You can also use this to create an offline cold wallet or a paper wallet: create a wallet on a computer disconnected from the Internet, write the 24 words and the address and the view key down, and then remove all the files created by the wallet. Security notes: Please note that this key is independent of your password. By default the 24 word key is written to simplewallet.log when the wallet is created. This is the expected behaviour, the next release will both exclude this from the log and reduce the default log level. Please run --generate-new-wallet with the --set_log 0 flag, or alternatively make sure to delete the simplewallet.log file afterwards. Technical details: The key length for this remains 256-bits and thus does not compromise user security. The view key seed is generated from a keccak1600 hash of the spend key (which is directly from the mnemonic seed), hence the deterministic nature of this. The non-deterministic method is still available as an option. How to get it: binaries in the OP have already been updated, or you can compile from the source on github. Moving to a deterministic wallet: unfortunately it's not possible to retroactively make an existing wallet deterministic. If you want to take advantage of the new feature, you will have to create a new wallet and move your funds in there.
  2. XMR is now on Mintpal for voting. You can find the voting link here: https://www.mintpal.com/voting#XMR - Mintpal allows 1 vote an hour from registered users who have traded before, as well as paid-for votes.
  3. Monero will be officially represented by fluffypony at the Bitcoin Supernode Conference at Malla Castle in Estonia at the end of this month.
  4. Neozaru has made great strides in his RPC-based Qt GUI wallet, and it requires some testing. If you are keen on trying it out, head over to his comment the GUI thread, give it a spin, and give him feedback.
Dev Diary
RPC: incoming_transfers is now available as a simplewallet RPC API call, and payment_id has been added as an optional argument to the transfer RPC API call. Neozaru also committed a large amount of additional functionality to the RPC API, including progress estimation to getinfo.
I2P: no commits this week, much of the work has been around scoping and planning the RPC subsystem.
Core: new seed nodes have been added, so bootstrapping on cold start should work just fine. We are going to add DNS seed node bootstrapping at a later stage.
Docs: work has begun on adding Doxygen comments throughout the code. This will both help us to understand the code written by "The CryptoNote Developers" (who appear at the top of every piece of source code except for the epee library), but will also result in proper developer documentation being made available.
Mining: Wolf` has continued to improve his CPU miner - the latest copy of which can be found on his github repo.
Mining: Claymore released a CryptoNight GPU miner, which you can find at this thread. Please be advised that his miner is currently closed source, and the appropriate level of caution should be exercised.
Until next week!
PS. If you've made it this far, there's a reward in the example wallet listed in the screenshot - first to grab it gets the prize!
submitted by fluffyponyza to Monero [link] [comments]

Anthony Pompliano says get ready for the bitcoin halving ... BITCOIN NEXT MAJOR MOVE WILL BE HORRIFYING (btc crypto live price news prediction analysis today ta THIS IS HUUUGE!!!! BITCOIN NEWS CONFIRMING $30,000 BULL ... WOW! BITCOIN BREAKING NEWS: BTC HALVING MOVED!!! Bitcoin Price Testing RESISTANCE!!! Bitcoin & Crypto News & Getting A Second Passport

More Bitcoin News. MimbleWimble launch to push LTC outside the range. Litecoin (LTC), now the 10th largest digital asset with the current market value of $3 billion, is changing hands at $46.20 ... Listen to Crypto News Alerts Daily Bitcoin (BTC) & Cryptocurrency News episodes free, on demand. Looking for a one-stop source for all the latest Blockchain and Cryptocurrency news covering Bitcoin (BTC), Ethereum (ETH), Litecoin (LTC), XRP, Ripple, EOS, Chainlink (LINK), USDT, Binance Coin (BNB), Bitcoin Satoshi Vision (BSV), Stellar Lumens (XLM), Cardano (ADA), Monero (XMR), Tron (TRX ... The latest version of Bitcoin Core 0.9.2 has been released. The release addresses a number of issues that came up during a previous release, 0.9.0. Bitcoin is looking pretty healthy today at $10,700, and new reports are showing how some analysts believe it’s time to ditch the altcoins and invest in the cryptocurrency front-runner. Even though Bitcoin is down 10% in September, there’s a lot of sustained bullish activity around the coin right now. ABC News reported that consumer prices in the country actually dropped 1.9% in June. It’s a record for deflation since the Korean War, Cointelegraph reported. Other experts say the inflation many have anticipated is actually happening in asset prices – equities, bitcoin, gold and silver have been surging – rather than consumer prices.

[index] [24563] [9456] [5763] [35020] [25087] [501] [33766] [2561] [7721] [3421]

Anthony Pompliano says get ready for the bitcoin halving ...

Bitcoin: The End Of Money As We Know It traces the history of money from the bartering societies of the ancient world to the trading floors of Wall St. The d... BITCOIN TODAY: Bitcoin is getting an ETP by a German company. In this video, I'll go through the Bitcoin news today & I'll make a Bitcoin price analysis. The... Bitcoin is one of the most important inventions in all of human history. For the first time ever, anyone can send or receive any amount of money with anyone ... The bitcoin halving that is set to take place in May will be like “rocket fuel” for an already bullish asset, this according to Anthony Pompliano, host of Th... Bitcoin News Today: The Bitcoin halving will happen in April instead of May. This is huge news for the BTC halving event. I'll use technical analysis on the Bitcoin price to make a Bitcoin price ...

#