Test Network Genesis Block


I am using BitCoinJ for my java application which fetches the test network's genesis block. I referred to the basics mentioned at JavaWorld and BitCoins Google Code wiki.

I am able to get it running but there seems to be an error while waiting for the node.

I receive the following output :

[main] INFO com.google.bitcoin.core.BlockChain - chain head is at height 0: v1 block: previous block: 0000000000000000000000000000000000000000000000000000000000000000 merkle root: 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b time: [1296688602] Thu Feb 03 04:46:42 IST 2011 difficulty target (nBits): 487063544 nonce: 384568319 [New I/O boss #9] INFO com.google.bitcoin.core.Peer - com.google.bitcoin.core.Peer$PeerHandler@fe64b9 - Connection refused: no further information

Note : I am working from a NAT network, can this be a point of connection...

0 0

Setting up a private chain is useful for testing purposes or simply for playing around with, I couldn’t find a good tutorial on it so I thought I would write my own. In this tutorial we are working on Ubuntu 14.04 LTS and Go Implementation of Ethereum go-ethereum or simply geth


The Fist Block - Genesis Block

The Genesis block is the start block of the Blockchain - the first block, block 0, the only block that does not point to a predecessor block. It’s the entry point into the Blockchain database. The Genesis data defines initial parameters of the database and defines a cryptographically valid entry block. You might think thats a flaw in the system being able to decide the starting conditions of the chain, but the consensus algorithm will ensure that no other node will agree with your version of the blockchain unless they have the same genesis block (and some other crucial parameters, discussed later).

How to Create Genesis Block

0 0
0 0

Testing a fork

The Spurious Dragon hardfork is scheduled for the coming week; block 2675000 is likely to occur Tuesday evening (CET). The block number for the testnet “Morden” was scheduled at block 1885000. Performing the fork in the test network prior to performing it in the main network was an important measure taken in the testing process to ensure a smooth rollover into the post-fork state.

The Morden fork occurred on Nov-20-2016, 06:12:20 +UTC, at block 1885000 as planned. A bit later, at block 1885074, there was a consensus issue between Geth and Parity.

Morden replay protection

The Morden testnet has been running since the launch of the Ethereum blockchain (July 2015). At that time, concerns about replay-attacks between Morden and Mainnet were addressed by using a nonce-offset. All accounts on Morden used a starting nonce of 2^20 instead of 0, ensuring that any transaction valid on one chain would not be valid on the other.

EIP 161...

0 0


What you'll learn

By the end of this tutorial, you'll see the first block on the Bitcoin blockchain, created by Satoshi Nakamoto. You'll also see how Bitcoin Core stores blocks on your disk.

The Genesis Block

The first block on the Bitcoin blockchain—block 0—is called the Genesis Block. According to the timestamp in the block header, it was mined on 3 Jan 2009 at 18:15:05 UTC, although (as you'll learn) it contains more proof of work than we'd expect and the mining was only started on January 3rd.

Let's take a look at it on the disk of your computer by running the following commands:

cd ~/.bitcoin/blocks hexdump -n 255 -C blk00000.dat

The cd command changes your directory into the Bitcoin Core block data directory. The hexdump command above displays the first 255 bytes of the file. It should look like this:

00000000 f9 be b4 d9 1d 01 00 00 01 00 00 00 00 00 00 00 |................| 00000010 00 00 00 00 00 00 00...
0 0



is an alternative Bitcoin

block chain

, to be used for testing. Testnet coins are separate and distinct from actual bitcoins, and are never supposed to have any value. This allows application developers or bitcoin testers to experiment, without having to use real bitcoins or worrying about breaking the main bitcoin chain.

Run bitcoin or bitcoind with the -testnet flag to use the testnet (or put testnet=1 in the bitcoin.conf file).

There have been three generations of testnet. Testnet2 was just the first testnet reset with a different genesis block, because people were starting to trade testnet coins for real money. Testnet3 is the current test network. It was introduced with the 0.7 release, introduced a third genesis block, a new rule to avoid the "difficulty was too high, is now too low, and transactions take too long to verify" problem, and contains blocks with edge-case transactions designed to test implementation compatibility.

0 0

I'm going to let them keep running, but right now I have two Peershares daemons running on one AWS m1.small instance.

Node 1:

ubuntu:~/.ppcoin$ ./ppcoind getinfo { "version" : "v0.3.0ppc-51-g38f5dde-beta", "protocolversion" : 60003, "walletversion" : 60000, "balance" : 0.00000000, "newmint" : 0.00000000, "stake" : 0.00000000, "blocks" : 0, "moneysupply" : 0.00000000, "connections" : 9, "proxy" : "", "ip" : "", "difficulty" : 0.06249911, "testnet" : true, "keypoololdest" : 1393812941, "keypoolsize" : 101, "paytxfee" : 0.01000000, "errors" : "" } ubuntu:~/.ppcoin$ ./ppcoind getmininginfo { "blocks" : 0, "currentblocksize" : 1000, "currentblocktx" : 0, "difficulty" : 0.06249911, "errors" : "", "generate" : true, "genproclimit" : -1, "hashespersec" : 330830, "networkghps" : 0.00894772, "pooledtx" : 0, "testnet" : true }

Node 2:

ubuntu:~/.ppcoin-node2$ ./ppcoind getinfo { "version" :...
0 0
0 0


The testnet is your sandbox where the sustainability of your currency and network can be put to test before the launch or prior to a major update. Generally, you wouldn't want to roll out a feature, which might jeopardize user experience or network health.

CryptoNote testnet tool ignores the real network by skipping its checkpoints and peer lists. It also generates a new genesis block on startup. By doing so you create a new block chain for your network which can be used for testing purposes. This can also be useful for pool owners deploying a new feature related to mining, since their own testnet doesn't have external miners to compete with for the blocks during the tests.

1. Post binaries compilation process. First of all you should start the daemon with the "--testnet" and "--data-dir" arguments:

cryptonotecoind --testnet --data-dir=new/path/to/blockchain

--testnet argument forces daemon to start a new...

0 0

We will create a genesis file named my-genesis.json that contains the genesis block:

The my-genesis.json is the initial state of the network.

Genesis editing

If you want to customize the network’s initial state, edit my-genesis.json. This allows you to control things such as:

The accounts that exist at genesis, their names and public keys Assets and their initial distribution (including core asset) The initial values of chain parameters The account / signing keys of the init witnesses (or in fact any account at all).

The chain ID is a hash of the genesis state. All transaction signatures are only valid for a single chain ID. So editing the genesis file will change your chain ID, and make you unable to sync with all existing chains (unless one of them has exactly the same genesis file you do).

Writing final genesis

We now copy our gensis template file over to the graphene root directory::

$ cp genesis/my-genesis.json genesis.json $ vim...
0 0

Pingdom Speed Examination


Description: find out possible ways to improve the load times for genesis-block.com with Pingdom.com. This tool will show the performance metrics for Javascript, image files and other site elements.



Description: this is one of the most popular sites online to look up domain info. With Who.is you can find detailed domain ownership records.

What is Google currently listing?


Description: what genesis-block.com pages are currently listed by Google? Find out using the “site” query.

Google Analytics Tool


Description: see traffic flow data, bounce rates, and much more from Google analytics. See how genesis-block.com is performing and what areas need improvement. This analysis tool developed by Google provides you with an...

0 0

I will be very interested in an "Idiots" guide, bootstrapping template, start to finish to create a DAC forking from PTS.

1.1 Use existing algorithm
1.2 Tips to ensure CPU only mining if decide to change it.
2. Set the number of shares to mine
4. How to give 10 % to both PTS holders and AGS (the document is focusing on the extraction), how do we initialise it, how the holders can easily claim their shares (as per Memory Coin). (Note I am not mentioning the genesis block, that should be part of the introduction).
5. Business Logic, example areas where we can add our business logic, ie add more information to the block chain, extract info (as per donschoe) etc.

The simpler to get started the better, I see PTS and AGS as a way to honour a very easy way to get started with your own DAC, then let the community, users decide if your business idea is good to invest. If it is everyone is a winner!

0 0

The Bitcoin Logo

Bitcoin is a decentralised digital currency which has been growing rapidly in popularity and use. You can send bitcoins to people and businesses around the world quickly, easily, and
with significantly less fees than international wire transfers, PayPal, or credit cards. You can even buy beer almost instantly; Here is a photo of me buying beer using Bitcoin.

If you’re developing a Bitcoin application, or even want to just play around with it, you can do so without costing anything and use a minimal amount of system resources. This blog post covers some technical topics about the Bitcoin block chain, which you might want to read up on the subject beforehand.

The different Bitcoin networks

The standard Bitcoin client, Bitcoin Core has three networks it can run on: mainnet, testnet, and regtest.


This is the real Bitcoin network, with the block chain that everyone uses. You can of course experiment with this...

0 0

For Java developers, BitCoinJ is an entry point to developing applications that interact with the Bitcoin network. In this final article in a three-part series, Dirk Merkel helps you set up BitCoinJ in an Eclipse development environment, then walks through several short exercises that will familiarize you with this lightweight implementation of the Bitcoin transaction protocol.

Previous installments in this three-part series have introduced the conceptual and technological framework of Bitcoin, a virtual currency and peer-to-peer network. This article, a tutorial introduction to the BitCoinJ API, assumes that you are familiar with Bitcoin addresses, transactions, blocks, and the block chain.

BitCoinJ is an open source Java implementation of the Bitcoin protocol. As such, it's a handy tool to have if you want to write Java applications that interact with the Bitcoin network. In order to explore the BitCoinJ API, we'll construct various sample applications that...

0 0

eth (C++ client)¶

It is possible to connect to or create a new network by using the –genesis and –config.

It is possible to use both –config and –genesis.

In that case, the genesis block description provided by –config will be overwritten by the –genesis option.


contains a JSON description of the network:

sealEngine (engine use to mine block)

“Ethash” is the Ethereum proof of work engine (used by the live network).

“NoProof” no proof of work is needed to mine a block.

params (general network information like minGasLimit, minimumDifficulty, blockReward, networkID)

genesis (genesis block description)

accounts (setup an original state that contains accounts/contracts)

Here is a Config sample (used by the Olympic network):


contains a JSON description of the genesis block:

The content is the same as the genesis field provided by the ‘config’ parameter:


0 0
0 0