pageTitle = $coin->name." block explorer"; $txid = getparam('txid'); echo << function toggleRaw(el) { $(el).parents('tr').next('tr.raw').toggle(); } $(function() { $('#favicon').remove(); $('head').append(''); $('span.txid').bind('click', function(el) { toggleRaw(el.target); }); $('span.txid:contains("{$txid}")').css('color','darkred'); }); ENDJS; function simplifyscript($script) { $script = preg_replace("/[0-9a-f]+ OP_DROP ?/","", $script); $script = preg_replace("/OP_NOP ?/","", $script); return trim($script); } /////////////////////////////////////////////////////////////////////////////////////////////// $remote = new Bitcoin($coin->rpcuser, $coin->rpcpasswd, $coin->rpchost, $coin->rpcport); $block = $remote->getblock($hash); if(!$block) return; //debuglog($block); $d = date('Y-m-d H:i:s', $block['time']); $confirms = isset($block['confirmations'])? $block['confirmations']: ''; $txcount = count($block['tx']); $version = dechex($block['version']); $nonce = dechex($block['nonce']); echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; if(isset($block['flags'])) echo ''; if(isset($block['previousblockhash'])) echo ''; if(isset($block['nextblockhash'])) echo ''; echo ''; echo ''; echo "
Coin:'.$coin->name.'
Blockhash:'.$hash.'
Confirmations:'.$confirms.'
Height:'.$block['height'].'
Time:'.$d.'
Difficulty:'.$block['difficulty'].'
Bits:'.$block['bits'].'
Nonce:'.$nonce.'
Version:'.$version.'
Size:'.$block['size'].' bytes
Flags:'.$block['flags'].'
Previous Hash: '.$block['previousblockhash'].'
Next Hash: '.$block['nextblockhash'].'
Merkle Root:'.$block['merkleroot'].'
Transactions:'.$txcount.'

"; //////////////////////////////////////////////////////////////////////////////// echo << span.txid { font-family: monospace; cursor: pointer; } tr.raw td { overflow-x: scroll; max-width: 1880px; } pre.json { font-size: 10px; } end; foreach($block['tx'] as $txhash) { $tx = $remote->getrawtransaction($txhash, 1); if(!$tx) continue; $valuetx = 0; foreach($tx['vout'] as $vout) $valuetx += $vout['value']; echo ""; echo ''; echo ""; echo ""; echo ""; echo ''; echo ""; } if ($coin->symbol == 'DCR') { echo ''; foreach($block['stx'] as $txhash) { $stx = $remote->getrawtransaction($txhash, 1); if(!$stx) continue; $valuetx = 0; foreach($stx['vout'] as $vout) $valuetx += $vout['value']; echo ''; echo ''; echo ""; echo ""; echo ""; echo ''; echo ''; } } echo '
Transaction Hash Value From To (amount)
'.$tx['txid'].'$valuetx"; foreach($tx['vin'] as $vin) { if(isset($vin['coinbase'])) echo "Generation"; } echo ""; foreach($tx['vout'] as $vout) { $value = $vout['value']; if ($value == 0) continue; if(isset($vout['scriptPubKey']['addresses'][0])) echo ''.$vout['scriptPubKey']['addresses'][0]." ($value)"; else echo "($value)"; echo '
'; } echo "
'; echo 'Stake'; echo '
'.$stx['txid'].'$valuetx"; if(isset($stx['vout'][0]['scriptPubKey']) && arraySafeVal($stx['vout'][0]['scriptPubKey'],'type') == 'stakesubmission') echo "Ticket"; else foreach($stx['vin'] as $vin) { if (arraySafeVal($vin,'blockheight') > 0) { echo ''.$vin['blockheight'].''; echo '
'; } } echo "
"; foreach($stx['vout'] as $vout) { $value = $vout['value']; if ($value == 0) continue; if(isset($vout['scriptPubKey']['addresses'][0])) echo ''.$vout['scriptPubKey']['addresses'][0]." ($value)"; else echo "($value)"; echo '
'; } echo "
'; echo << end; echo '









'; echo '









'; echo '









';