Skip to content

Instantly share code, notes, and snippets.

@sigmike
Created May 22, 2014 12:16
Show Gist options
  • Select an option

  • Save sigmike/145cf7c2eee3c4f29211 to your computer and use it in GitHub Desktop.

Select an option

Save sigmike/145cf7c2eee3c4f29211 to your computer and use it in GitHub Desktop.
peershares proposal

I think we can make things easier and not require any compilation (we may even build a website that makes all the steps for you after you fill a simple form). For example:

When you download and run Peershares it will calculate a genesis block at the current time. Then it will write a config file in the executable directory (not in the Application Data directory) with this:

  • the genesis block data (timestamp, hash, merkle root and nonce)
  • randomly chosen port and RPC port
  • and a randomly chosen datadir name.

Then the user can open this config file and change the ports and datadir name if he want to. He may add stable seeds with other "addnode" commands. Then he renames the executables to something like MyCompanyShares-GUI.exe and MyCompanyShares-Daemon.exe.

Then he starts one of the executables and the initial coins are mined with PoW very quickly.

He then zips the program directory (including the config with the genesis block data) and sends it to future shareholders (or put it on a website).

Then anyone who runs this program will have the genesis block data, a custom datadir and the initial seeds.

To do that we'd need to:

  • write the code that loads a default configuration from the executable directory before the usual configuration is loaded,
  • write the code that generates the genesis block and dump an initial config if the default configuration doesn't exist
  • and write a small guide that explains the steps above.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment