15 #include <boost/assign/list_of.hpp>
20 static const string I2pSeedAddresses[] = {
21 "8w-NRnXaxoGZdyupTXX78~CmF8csc~RhJr8XR2vMbNpazKhGjWNfRjhCmwqXkkW9vwkNjovW2AAbof7PfVnMCff0sHSxMTiBNsH8cuHJS2ckBSJI3h4G4ffJLc5gflangrG1raHKrMXCw8Cn56pisx4RKokEKUYdeEPiMdyJUO5yjZW2oyk4NpaUaQCqFmcglIvNOCYzVe~LK124wjJQAJc5iME1Sg9sOHaGMPL5N2qkAm5osOg2S7cZNRdIkoNOq-ztxghrv5bDL0ybeC0sfIQzvxDiKugCrSHEHCvwkA~xOu9nhNlUvoPDyCRRi~ImeomdNoqke28di~h2JF7wBGE~3ACxxOMaa0I~c9LV3O7pRU2Xj9HDn76eMGL7YCcCU4dRByu97oqfB3E~qqmmFp8W1tgvnEAMtXFTFZPYc33ZaCaIJQD7UXcQRSRV7vjw39jhx49XFsmYV3K6~D8bN8U4sRJnKQpzOJGpOSEJWh88bII0XuA55bJsfrR4VEQ5AAAA",
22 "hL51K8bxVvqX2Z4epXReUYlWTNUAK-1XdlbBd7e796s2A3icCQRhJvGlaa6PX~tgPvos-2IJp9hFQrVa0lyKyYmpQN9X7GOErtsL-JbMQpglQsEd94jDRAsiBuvgyPZij~NNdBxKRMDvNm9s7eovzhEFTAimTSB-sgeZ4Afxx2IrNXDFM6KS8AUm8YsaMldzX9zKQDeuV0slp4ZfIAVQhZZy9zTZSmUNPnXQR7XPh5w7FkXzmKMTKSyG~layJ3AorQWqzZXmykzf4z3CE4zkzQcwc0~ZIcAg9tYvM2AdQIdgeN6ISMim6L8q6ku6abuONkyw-NJTi3NopeGHZva21Tc3uHetsKoW434N24HBVUtIjJVjGsbZ7xBfz2xM5kyhPl6SlD-RJarCw47Rovmfc9Piq6q3S~Zw-rvRl-xDMJzwraIYNjAROouDwjI9Bqnguq9DH5uFBxf4uN69X7T~yWTAjdvelZKp6BGe~HGo7bNQjBmymhlH4erCKZEXOaxDAAAA"
24 #endif // ENABLE_I2PSAM
37 strNetworkID =
"main";
42 pchMessageStart[0] = 0xfa;
43 pchMessageStart[1] = 0xca;
44 pchMessageStart[2] = 0xba;
45 pchMessageStart[3] = 0xda;
46 vAlertPubKey =
ParseHex(
"04b2941a448ab9860beb73fa2f600c09bf9fe4d18d5ff0b3957bf94c6d177d61f88660d7c0dd9adef984080ddea03c898039759f66c2011c111c4394692f814962");
69 const char* pszTimestamp =
"02/Jun/2013: The Universe, we're all one. But really, fuck the Central banks. - Anonymous 420";
73 txNew.
vin[0].scriptSig =
CScript() << 486604799 <<
CScriptNum(4) << vector<unsigned char>((
const unsigned char*)pszTimestamp, (
const unsigned char*)pszTimestamp + strlen(pszTimestamp));
74 txNew.
vout[0].nValue = 0 * COIN;
76 genesis.vtx.push_back(txNew);
77 genesis.hashPrevBlock = 0;
78 genesis.hashMerkleRoot = genesis.BuildMerkleTree();
80 genesis.nTime = 1370190760;
81 genesis.nBits = 0x1e0ffff0;
82 genesis.nNonce = 347089008;
84 hashGenesisBlock = genesis.GetHash();
85 assert(hashGenesisBlock ==
uint256(
"0x2c85519db50a40c033ccb3d4cb729414016afa537c66537f7d3d52dcd1d484a3"));
86 assert(genesis.hashMerkleRoot ==
uint256(
"0x7ce7004d764515f9b43cb9f07547c8e2e00d94c9348b3da33c8681d350f2c736"));
91 vSeeds.push_back(
CDNSSeedData(
"anoncoin.darkgamex.ch",
"anc.dnsseed01.anoncoin.darkgamex.ch"));
92 vSeeds.push_back(
CDNSSeedData(
"www.virtual-currency.com",
"anc.dnsseed01.anoncoin.virtual-currency.com"));
100 i2pvSeeds.push_back(
CDNSSeedData(
"d46o5wddsdrvg2ywnu4o57zeloayt7oyg56adz63xukordgfommq.b32.i2p",
"d46o5wddsdrvg2ywnu4o57zeloayt7oyg56adz63xukordgfommq.b32.i2p"));
101 i2pvSeeds.push_back(
CDNSSeedData(
"u2om3hgjpghqfi7yid75xdmvzlgjybstzp6mtmaxse4aztm23rwq.b32.i2p",
"u2om3hgjpghqfi7yid75xdmvzlgjybstzp6mtmaxse4aztm23rwq.b32.i2p"));
102 i2pvSeeds.push_back(
CDNSSeedData(
"htigbyeisbqizn63ftqw7ggfwfeolwkb3zfxwmyffygbilwqsswq.b32.i2p",
"htigbyeisbqizn63ftqw7ggfwfeolwkb3zfxwmyffygbilwqsswq.b32.i2p"));
103 i2pvSeeds.push_back(
CDNSSeedData(
"st4eyxcp73zzbpatgt26pt3rlfwb7g5ywedol65baalgpnhvzqpa.b32.i2p",
"st4eyxcp73zzbpatgt26pt3rlfwb7g5ywedol65baalgpnhvzqpa.b32.i2p"));
104 i2pvSeeds.push_back(
CDNSSeedData(
"qgmxpnpujddsd5ez67p4ognqsvo64tnzdbzesezdbtb3atyoxcpq.b32.i2p",
"qgmxpnpujddsd5ez67p4ognqsvo64tnzdbzesezdbtb3atyoxcpq.b32.i2p"));
105 i2pvSeeds.push_back(
CDNSSeedData(
"7zbwzykhyjcmmessswamkxfyya7hioiy2oq7voaw27625qwruqia.b32.i2p",
"7zbwzykhyjcmmessswamkxfyya7hioiy2oq7voaw27625qwruqia.b32.i2p"));
106 i2pvSeeds.push_back(
CDNSSeedData(
"ypwvq7jcu3uwyg4ufjqt4a26ca6pxdcnshv6q2okmmjsof5dxzkq.b32.i2p",
"ypwvq7jcu3uwyg4ufjqt4a26ca6pxdcnshv6q2okmmjsof5dxzkq.b32.i2p"));
109 i2pvSeeds.push_back(
CDNSSeedData(
"a4gii55rnvv22qm2ojre2n67bzms5utr4k3ckafwjdoym2cqmv2q.b32.i2p",
"a4gii55rnvv22qm2ojre2n67bzms5utr4k3ckafwjdoym2cqmv2q.b32.i2p"));
110 i2pvSeeds.push_back(
CDNSSeedData(
"b7ziruwpk7g2e44xyomnc2nu5tx7bc2f2ai4dzi66uxm3bc3qttq.b32.i2p",
"b7ziruwpk7g2e44xyomnc2nu5tx7bc2f2ai4dzi66uxm3bc3qttq.b32.i2p"));
111 i2pvSeeds.push_back(
CDNSSeedData(
"72vaef5cmmlcilgvpeltcp77gutsnyic2l5khsgz7kyivla5lwjq.b32.i2p",
"72vaef5cmmlcilgvpeltcp77gutsnyic2l5khsgz7kyivla5lwjq.b32.i2p"));
112 i2pvSeeds.push_back(
CDNSSeedData(
"qc37luxnbh3hkihxfl2e7nwosebh5sbfvpvjqwn7c3g5kqftb5qq.b32.i2p",
"qc37luxnbh3hkihxfl2e7nwosebh5sbfvpvjqwn7c3g5kqftb5qq.b32.i2p"));
113 i2pvSeeds.push_back(
CDNSSeedData(
"xynjl64xlviqhkjl2fbvupj7y3wct46jtayoxm2ksba6tqzo6tsa.b32.i2p",
"xynjl64xlviqhkjl2fbvupj7y3wct46jtayoxm2ksba6tqzo6tsa.b32.i2p"));
114 #endif // ENABLE_I2PSAM
116 base58Prefixes[PUBKEY_ADDRESS] = list_of(23);
117 base58Prefixes[SCRIPT_ADDRESS] = list_of(5);
118 base58Prefixes[SECRET_KEY] = list_of(151);
119 base58Prefixes[EXT_PUBLIC_KEY] = list_of(0x04)(0x88)(0xB2)(0x1E);
120 base58Prefixes[EXT_SECRET_KEY] = list_of(0x04)(0x88)(0xAD)(0xE4);
131 const int64_t nOneWeek = 7*24*60*60;
136 vFixedSeeds.push_back(addr);
140 for (
unsigned int i = 0; i <
ARRAYLEN( I2pSeedAddresses ); i++ ) {
141 const int64_t nOneWeek = 7*24*60*60;
142 CService aServiceSeed( I2pSeedAddresses[i] );
145 vFixedSeeds.push_back(addr);
153 virtual const vector<CAddress>&
FixedSeeds()
const {
return vFixedSeeds; }
167 strNetworkID =
"testnet4";
172 pchMessageStart[0] = 0xfa;
173 pchMessageStart[1] = 0xc4;
174 pchMessageStart[2] = 0xb7;
175 pchMessageStart[3] = 0xd4;
177 vAlertPubKey =
ParseHex(
"0442ccd085e52f7b74ee594826e36e417706af91ff7e7236a430b2dd16fe9f1a8132d0718e0bf5a3b7105354bf5bf954330097b21824c26c466836df9538f3d33e");
180 nDefaultPort = 19377;
182 strDataDir =
"testnet4";
185 genesis.nTime = 1317798646;
186 genesis.nNonce = 385270584;
187 hashGenesisBlock = genesis.GetHash();
193 vSeeds.push_back(
CDNSSeedData(
"anoncoin.net",
"dnsseed01.anoncoin.net"));
195 base58Prefixes[PUBKEY_ADDRESS] = list_of(111);
196 base58Prefixes[SCRIPT_ADDRESS] = list_of(196);
197 base58Prefixes[SECRET_KEY] = list_of(239);
198 base58Prefixes[EXT_PUBLIC_KEY] = list_of(0x04)(0x35)(0x87)(0xCF);
199 base58Prefixes[EXT_SECRET_KEY] = list_of(0x04)(0x35)(0x83)(0x94);
212 strNetworkID =
"regtest";
214 pchMessageStart[0] = 0xfa;
215 pchMessageStart[1] = 0xbf;
216 pchMessageStart[2] = 0xb5;
217 pchMessageStart[3] = 0xda;
224 genesis.nTime = 1296688602;
225 genesis.nBits = 0x207fffff;
227 hashGenesisBlock = genesis.GetHash();
228 nDefaultPort = 19444;
230 strDataDir =
"regtest";
245 return *pCurrentParams;
251 pCurrentParams = &mainParams;
254 pCurrentParams = &testNetParams;
257 pCurrentParams = ®TestParams;
260 assert(
false &&
"Unimplemented network");
266 bool fRegTest =
GetBoolArg(
"-regtest",
false);
267 bool fTestNet =
GetBoolArg(
"-testnet",
false);
269 if (fTestNet && fRegTest) {
275 }
else if (fTestNet) {
uint64_t GetRand(uint64_t nMax)
vector< CAddress > vFixedSeeds
virtual const vector< CAddress > & FixedSeeds() const
bool SelectParamsFromCommandLine()
Looks for -regtest or -testnet and then calls SelectParams as appropriate.
CChainParams defines various tweakable parameters of a given instance of the Anoncoin system...
CBigNum & SetCompact(unsigned int nCompact)
bool GetBoolArg(const std::string &strArg, bool fDefault)
Return boolean argument or default value.
virtual bool RequireRPCPassword() const
void SelectParams(CChainParams::Network network)
Sets the params returned by Params() to those for the given network.
std::vector< CTxOut > vout
A combination of a network address (CNetAddr) and a (TCP) port.
C++ wrapper for BIGNUM (OpenSSL bignum)
A CService with information about it as peer.
const CChainParams & Params()
Return the currently selected parameters.
Serialized script, used inside transaction inputs and outputs.
void * memcpy(void *a, const void *b, size_t c)
virtual const CBlock & GenesisBlock() const
virtual Network NetworkID() const
virtual Network NetworkID() const
The basic transaction that is broadcasted on the network and contained in blocks. ...
vector< unsigned char > ParseHex(const char *psz)
virtual Network NetworkID() const