/** * Make a block from the payload. Extension point for alternative * serialization format support. */ @Override public Block makeBlock(final byte[] payloadBytes, final int offset, final int length) throws ProtocolException { return new Block(params, payloadBytes, offset, this, length); }
/** * Make a block from the payload. Extension point for alternative * serialization format support. */ @Override public Block makeBlock(final byte[] payloadBytes, final int offset, final int length) throws ProtocolException { return new Block(params, payloadBytes, offset, this, length); }
/** * Make a block from the payload. Extension point for alternative * serialization format support. */ @Override public Block makeBlock(final byte[] payloadBytes, final int offset, final int length) throws ProtocolException { return new Block(params, payloadBytes, offset, this, length); }
/** * Make a block from the payload. Extension point for alternative * serialization format support. */ @Override public Block makeBlock(final byte[] payloadBytes, final int offset, final int length) throws ProtocolException { return new Block(params, payloadBytes, offset, this, length); }
/** Returns a copy of the block, but without any transactions. */ public Block cloneAsHeader() { Block block = new Block(params, BLOCK_VERSION_GENESIS); copyBitcoinHeaderTo(block); return block; }
/** Returns a copy of the block, but without any transactions. */ public Block cloneAsHeader() { Block block = new Block(params, BLOCK_VERSION_GENESIS); copyBitcoinHeaderTo(block); return block; }
/** Returns a copy of the block, but without any transactions. */ public Block cloneAsHeader() { Block block = new Block(params, BLOCK_VERSION_GENESIS); copyBitcoinHeaderTo(block); return block; }
/** Returns a copy of the block, but without any transactions. */ public Block cloneAsHeader() { Block block = new Block(params, BLOCK_VERSION_GENESIS); copyBitcoinHeaderTo(block); return block; }
private static Block createGenesis(NetworkParameters n) { Block genesisBlock = new Block(n, Block.BLOCK_VERSION_GENESIS); Transaction t = new Transaction(n); try { // A script containing the difficulty bits and the following message: // // "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" byte[] bytes = Utils.HEX.decode ("04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73"); t.addInput(new TransactionInput(n, t, bytes)); ByteArrayOutputStream scriptPubKeyBytes = new ByteArrayOutputStream(); Script.writeBytes(scriptPubKeyBytes, Utils.HEX.decode ("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f")); scriptPubKeyBytes.write(ScriptOpCodes.OP_CHECKSIG); t.addOutput(new TransactionOutput(n, t, FIFTY_COINS, scriptPubKeyBytes.toByteArray())); } catch (Exception e) { // Cannot happen. throw new RuntimeException(e); } genesisBlock.addTransaction(t); return genesisBlock; }
private static Block createGenesis(NetworkParameters n) { Block genesisBlock = new Block(n, Block.BLOCK_VERSION_GENESIS); Transaction t = new Transaction(n); try { // A script containing the difficulty bits and the following message: // // "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" byte[] bytes = Utils.HEX.decode ("04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73"); t.addInput(new TransactionInput(n, t, bytes)); ByteArrayOutputStream scriptPubKeyBytes = new ByteArrayOutputStream(); Script.writeBytes(scriptPubKeyBytes, Utils.HEX.decode ("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f")); scriptPubKeyBytes.write(ScriptOpCodes.OP_CHECKSIG); t.addOutput(new TransactionOutput(n, t, FIFTY_COINS, scriptPubKeyBytes.toByteArray())); } catch (Exception e) { // Cannot happen. throw new RuntimeException(e); } genesisBlock.addTransaction(t); return genesisBlock; }
private static Block createGenesis(NetworkParameters n) { Block genesisBlock = new Block(n, Block.BLOCK_VERSION_GENESIS); Transaction t = new Transaction(n); try { // A script containing the difficulty bits and the following message: // // "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" byte[] bytes = Utils.HEX.decode ("04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73"); t.addInput(new TransactionInput(n, t, bytes)); ByteArrayOutputStream scriptPubKeyBytes = new ByteArrayOutputStream(); Script.writeBytes(scriptPubKeyBytes, Utils.HEX.decode ("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f")); scriptPubKeyBytes.write(ScriptOpCodes.OP_CHECKSIG); t.addOutput(new TransactionOutput(n, t, FIFTY_COINS, scriptPubKeyBytes.toByteArray())); } catch (Exception e) { // Cannot happen. throw new RuntimeException(e); } genesisBlock.addTransaction(t); return genesisBlock; }
private static Block createGenesis(NetworkParameters n) { Block genesisBlock = new Block(n, Block.BLOCK_VERSION_GENESIS); Transaction t = new Transaction(n); try { // A script containing the difficulty bits and the following message: // // coin dependent byte[] bytes = Utils.HEX.decode(CoinDefinition.genesisTxInBytes); t.addInput(new TransactionInput(n, t, bytes)); ByteArrayOutputStream scriptPubKeyBytes = new ByteArrayOutputStream(); Script.writeBytes(scriptPubKeyBytes, Utils.HEX.decode(CoinDefinition.genesisTxOutBytes)); scriptPubKeyBytes.write(ScriptOpCodes.OP_CHECKSIG); t.addOutput(new TransactionOutput(n, t, Coin.valueOf(CoinDefinition.genesisBlockValue, 0), scriptPubKeyBytes.toByteArray())); } catch (Exception e) { // Cannot happen. throw new RuntimeException(e); } genesisBlock.addTransaction(t); return genesisBlock; }
@Before public void setUp() throws Exception { context = new Context(PARAMS); MemoryBlockStore store = new MemoryBlockStore(PARAMS); // Cheat and place the previous block (block 100000) at the head of the block store without supporting blocks store.put(new StoredBlock(new Block(PARAMS, HEX.decode("0100000050120119172a610421a6c3011dd330d9df07b63616c2cc1f1cd00200000000006657a9252aacd5c0b2940996ecff952228c3067cc38d4885efb5a4ac4247e9f337221b4d4c86041b0f2b5710")), BigInteger.valueOf(1), 100000)); store.setChainHead(store.get(Sha256Hash.wrap("000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506"))); KeyChainGroup group = new KeyChainGroup(PARAMS); group.importKeys(ECKey.fromPublicOnly(HEX.decode("04b27f7e9475ccf5d9a431cb86d665b8302c140144ec2397fce792f4a4e7765fecf8128534eaa71df04f93c74676ae8279195128a1506ebf7379d23dab8fca0f63")), ECKey.fromPublicOnly(HEX.decode("04732012cb962afa90d31b25d8fb0e32c94e513ab7a17805c14ca4c3423e18b4fb5d0e676841733cb83abaf975845c9f6f2a8097b7d04f4908b18368d6fc2d68ec")), ECKey.fromPublicOnly(HEX.decode("04cfb4113b3387637131ebec76871fd2760fc430dd16de0110f0eb07bb31ffac85e2607c189cb8582ea1ccaeb64ffd655409106589778f3000fdfe3263440b0350")), ECKey.fromPublicOnly(HEX.decode("04b2f30018908a59e829c1534bfa5010d7ef7f79994159bba0f534d863ef9e4e973af6a8de20dc41dbea50bc622263ec8a770b2c9406599d39e4c9afe61f8b1613"))); wallet = new Wallet(PARAMS, group); super.setUp(store); }
final byte[] pubKey, final Coin coinbaseValue, final int height) { Block b = new Block(params, version); b.setDifficultyTarget(difficultyTarget); b.addCoinbaseTransaction(pubKey, coinbaseValue, height);
final byte[] pubKey, final Coin coinbaseValue, final int height) { Block b = new Block(params, version); b.setDifficultyTarget(difficultyTarget); b.addCoinbaseTransaction(pubKey, coinbaseValue, height);
final byte[] pubKey, final Coin coinbaseValue, final int height) { Block b = new Block(params, version); b.setDifficultyTarget(difficultyTarget); b.addCoinbaseTransaction(pubKey, coinbaseValue, height);
final byte[] pubKey, final Coin coinbaseValue, final int height) { Block b = new Block(params, version); b.setDifficultyTarget(difficultyTarget); b.addCoinbaseTransaction(pubKey, coinbaseValue, height);
private static Block getBlock2() throws Exception { Block b2 = new Block(testNet, Block.BLOCK_VERSION_GENESIS); b2.setMerkleRoot(Sha256Hash.wrap("addc858a17e21e68350f968ccd384d6439b64aafa6c193c8b9dd66320470838b")); b2.setNonce(2642058077L); b2.setTime(1296734343L); b2.setPrevBlockHash(Sha256Hash.wrap("000000033cc282bc1fa9dcae7a533263fd7fe66490f550d80076433340831604")); assertEquals("000000037b21cac5d30fc6fda2581cf7b2612908aed2abbcc429c45b0557a15f", b2.getHashAsString()); b2.verifyHeader(); return b2; }
private static Block getBlock1() throws Exception { Block b1 = new Block(testNet, Block.BLOCK_VERSION_GENESIS); b1.setMerkleRoot(Sha256Hash.wrap("0e8e58ecdacaa7b3c6304a35ae4ffff964816d2b80b62b58558866ce4e648c10")); b1.setNonce(236038445); b1.setTime(1296734340); b1.setPrevBlockHash(Sha256Hash.wrap("00000007199508e34a9ff81e6ec0c477a4cccff2a4767a8eee39c11db367b008")); assertEquals("000000033cc282bc1fa9dcae7a533263fd7fe66490f550d80076433340831604", b1.getHashAsString()); b1.verifyHeader(); return b1; }
Block b2 = getBlock2(); assertTrue(testNetChain.add(b2)); Block bad = new Block(testNet, Block.BLOCK_VERSION_GENESIS);