It was the Bitcointalk forum that inspired us to create Bitcointalksearch.org - Bitcointalk is an excellent site that should be the default page for anybody dealing in cryptocurrency, since it is a virtual gold-mine of data. However, our experience and user feedback led us create our site; Bitcointalk's search is slow, and difficult to get the results you need, because you need to log in first to find anything useful - furthermore, there are rate limiters for their search functionality.
The aim of our project is to create a faster website that yields more results and faster without having to create an account and eliminate the need to log in - your personal data, therefore, will never be in jeopardy since we are not asking for any of your data and you don't need to provide them to use our site with all of its capabilities.
We created this website with the sole purpose of users being able to search quickly and efficiently in the field of cryptocurrency so they will have access to the latest and most accurate information and thereby assisting the crypto-community at large.
int64_t nMaxTipAge = DEFAULT_MAX_TIP_AGE * 4000; // use the original bitcoin genesis block
pchMessageStart[0] = 0xf0;
pchMessageStart[1] = 0xb0;
pchMessageStart[2] = 0xb0;
pchMessageStart[3] = 0xd0;
consensus.nMinimumChainWork = uint256S("0x0");
consensus.defaultAssumeValid = uint256S("0x0")
consensus.powLimit = uint256S("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
ALl vSeeds.emplace_back commented
~$ bitcoind
bitcoind: chainparams.cpp:132: CMainParams::CMainParams(): Assertion `consensus.hashGenesisBlock == uint256S("0000000001e075d779592db22d19573375d05db23bdafd0a8b06c89fb2985d89")' failed.
Aborted (core dumped)
bitcoind -conf=/home/bitcoinbitcoin.conf -rpcport=8332 -rpcbind=192.168.1.70 -connect=0 -listen=1 -maxtipage=432000000
bitcoind -conf=/home/bitcoin/peer2/bitcoin.conf -rpcport=6332 -rpcbind=192.168.1.70 -addnode=192.168.1.70:8333
std::unique_ptrCreateBaseChainParams(const std::string& chain)
{
if (chain == CBaseChainParams::MAIN)
return MakeUnique("", 10332); // I set my port to 10332, Bitcoin's is 8332, I left the rest alone
else if (chain == CBaseChainParams::TESTNET)
return MakeUnique("testnet3", 18332);
else if (chain == CBaseChainParams::REGTEST)
return MakeUnique("regtest", 18443);
else
throw std::runtime_error(strprintf("%s: Unknown chain %s.", __func__, chain));
}
nDefaultPort = 10333; // Bitcoin's is 8333, I set mine to a thousand above Litecoin's P2P port (9333)
genesis = CreateGenesisBlock(1553416095, 2546245826, 0x1d00ffff, 1, 50 * COIN);
consensus.nPowTargetTimespan = 3 * 60 * 60; // three hours
consensus.nPowTargetSpacing = 2 * 60; // two minutes
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// Force block reward to zero when right shift is undefined.
if (halvings >= 64)
return 0;
// Premine in first ten blocks, the simple approach
// Start with 5000 coins per block after genesis, but otherwise leave default subsidy unchanged
CAmount nSubsidy = 50 * COIN;
// First 10 blocks after genesis, up the subsidy to 5000 coins
if (nHeight > 0 && nHeight <= 10) {
nSubsidy = 5000 * COIN;
// You may wish to leave out the halvings below and just
return nSubsidy;
// especially if you just premine in block #1 and leave it at that, but check
// to make sure it doesn't get all screwed up...
}
// otherwise leave nSubsidy in its default state
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years. (Not true for my adjustments, pay attention here)
nSubsidy >>= halvings;
return nSubsidy;
}
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libboost-all-dev libboost-program-options-dev
sudo apt-get install libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev unzip
// Get into your src directory, e.g.
cd ~/bitcoin-0.17.1
// For a 64-bit Windows wallet
sudo apt install g++-mingw-w64-x86-64
// Set mode to POSIX when it asks after running
sudo update-alternatives --config x86_64-w64-mingw32-g++
// Get ready and change into depends directory
PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g')
cd depends
// This will take a while
make HOST=x86_64-w64-mingw32
// Up one level to your top level src dir (not in /src, up from there to configure and make)
cd ..
// I use the latest Berkeley DB, so if like me you don't need "compatible" wallets,
// always configure with the latest Berkeley DB and pass in --with-incompatible-bdb
// This will also take a while...
./autogen.sh
CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure --with-incompatible-bdb --prefix=/
make
std::unique_ptrCreateBaseChainParams(const std::string& chain)
{
if (chain == CBaseChainParams::MAIN)
return MakeUnique("", 10332); // I set my port to 10332, Bitcoin's is 8332, I left the rest alone
else if (chain == CBaseChainParams::TESTNET)
return MakeUnique("testnet3", 18332);
else if (chain == CBaseChainParams::REGTEST)
return MakeUnique("regtest", 18443);
else
throw std::runtime_error(strprintf("%s: Unknown chain %s.", __func__, chain));
}
nDefaultPort = 10333; // Bitcoin's is 8333, I set mine to a thousand above Litecoin's P2P port (9333)
genesis = CreateGenesisBlock(1553416095, 2546245826, 0x1d00ffff, 1, 50 * COIN);
consensus.nPowTargetTimespan = 3 * 60 * 60; // three hours
consensus.nPowTargetSpacing = 2 * 60; // two minutes
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// Force block reward to zero when right shift is undefined.
if (halvings >= 64)
return 0;
// Premine in first ten blocks, the simple approach
// Start with 5000 coins per block after genesis, but otherwise leave default subsidy unchanged
CAmount nSubsidy = 50 * COIN;
// First 10 blocks after genesis, up the subsidy to 5000 coins
if (nHeight > 0 && nHeight <= 10) {
nSubsidy = 5000 * COIN;
// You may wish to leave out the halvings below and just
return nSubsidy;
// especially if you just premine in block #1 and leave it at that, but check
// to make sure it doesn't get all screwed up...
}
// otherwise leave nSubsidy in its default state
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years. (Not true for my adjustments, pay attention here)
nSubsidy >>= halvings;
return nSubsidy;
}
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libboost-all-dev libboost-program-options-dev
sudo apt-get install libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev unzip
// Get into your src directory, e.g.
cd ~/bitcoin-0.17.1
// For a 64-bit Windows wallet
sudo apt install g++-mingw-w64-x86-64
// Set mode to POSIX when it asks after running
sudo update-alternatives --config x86_64-w64-mingw32-g++
// Get ready and change into depends directory
PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g')
cd depends
// This will take a while
make HOST=x86_64-w64-mingw32
// Up one level to your top level src dir (not in /src, up from there to configure and make)
cd ..
// I use the latest Berkeley DB, so if like me you don't need "compatible" wallets,
// always configure with the latest Berkeley DB and pass in --with-incompatible-bdb
// This will also take a while...
./autogen.sh
CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure --with-incompatible-bdb --prefix=/
make
~$ bitcoind
bitcoind: chainparams.cpp:132: CMainParams::CMainParams(): Assertion `consensus.hashGenesisBlock == uint256S("0000000001e075d779592db22d19573375d05db23bdafd0a8b06c89fb2985d89")' failed.
Aborted (core dumped)
~$ bitcoind
bitcoind: chainparams.cpp:132: CMainParams::CMainParams(): Assertion `consensus.hashGenesisBlock == uint256S("0000000001e075d779592db22d19573375d05db23bdafd0a8b06c89fb2985d89")' failed.
Aborted (core dumped)
~$ bitcoind
bitcoind: chainparams.cpp:132: CMainParams::CMainParams(): Assertion `consensus.hashGenesisBlock == uint256S("0000000001e075d779592db22d19573375d05db23bdafd0a8b06c89fb2985d89")' failed.
Aborted (core dumped)
~$ bitcoind
bitcoind: chainparams.cpp:132: CMainParams::CMainParams(): Assertion `consensus.hashGenesisBlock == uint256S("0000000001e075d779592db22d19573375d05db23bdafd0a8b06c89fb2985d89")' failed.
Aborted (core dumped)
~$ bitcoind
bitcoind: chainparams.cpp:132: CMainParams::CMainParams(): Assertion `consensus.hashGenesisBlock == uint256S("0x0000000001e075d779592db22d19573375d05db23bdafd0a8b06c89fb2985d89")' failed.
Aborted (core dumped)
chainparams.cpp:207: CMainParams::CMainParams(): Assertion `consensus.hashGenesisBlock == uint256S("0x000000002fe872d82f457a6016df5eeb432735a3291ae3b34d04dea89caa286a")' failed.
Aborted
return CreateGenesisBlock(pszTimestamp, genesisOutputScript, nTimeTx, nTimeBlock, nNonce, nBits, nVersion, genesisReward);
genesis = CreateGenesisBlock(1533211413, 0, 3823366493, 0x1d00ffff, 1, 0);
checkpointData = (CCheckpointData) {
boost::assign::map_list_of
( 0, uint256S("0x00000000bcccd459d036a588d1008fce8da3754b205736f32ddfd35350e84c2d"))
};
src/validation.h:static const int64_t DEFAULT_MAX_TIP_AGE = 24 * 60 * 60;
src/validation.cpp:int64_t nMaxTipAge = DEFAULT_MAX_TIP_AGE * 4000;
if (chainActive.Tip()->GetBlockTime() < (GetTime() - nMaxTipAge))
return true;
src/bitcoind -debug=rpc -dns=0 -dnsseed=0 -datadir=../datadir/
src/bitcoin-cli -datadir=../datadir/ getinfo
server=1
gen=1
port=8963
rpcport=8962
rpcbind=0.0.0.0
rpcallowip=0.0.0.0/0
rpcuser=username
rpcpassword=password
listen=1
server=1
port=12000
rpcport=12001
rpcallowip=0.0.0.0/0
rpcuser=username
rpcpassword=password
daemon=1
src/bitcoind -conf=../datadir/bitcoin.conf -datadir=../datadir/ -reindex
src/bitcoin-cli -conf=../datadir/bitcoin.conf -datadir=../datadir/ help
error code: -28
error message:
Loading wwwallet...
2018-05-25 09:05:39 Keys: 2002 plaintext, 0 encrypted, 2002 w/ metadata, 2002 total
2018-05-25 09:05:39 wallet 45ms
2018-05-25 09:05:39 setKeyPool.size() = 2000
2018-05-25 09:05:39 mapWallet.size() = 0
2018-05-25 09:05:39 mapAddressBook.size() = 1
2018-05-25 09:05:39 Reindexing block file blk00000.dat...
2018-05-25 09:05:40 ERROR: AcceptBlock: high-hash, proof of work failed (code 16)
2018-05-25 09:05:40 Reindexing finished
2018-05-25 09:05:40 Failed to open mempool file from disk. Continuing anyway.
2018-05-25 09:06:22 ThreadRPCServer method=help
server=1
gen=1
rpcbind=0.0.0.0
rpcuser=rpcuser
rpcpassword=111111
rpcallowip=127.0.0.1
rpcallowip=0.0.0.0/0
listen=1
sudo ~/bitcoin/src/bitcoind -addnode=127.0.0.1:9332 -port=8963 -rpcport=8962 -debug=rpc -dns=0 -dnsseed=0
sudo ~/bitcoin/src/bitcoind -datadir=$HOME/.bitcoin2 -addnode=127.0.0.1:8962 -port=9333 -rpcport=9332 -debug=rpc -dns=0 -dnsseed=0
error code: -10
error message:
Bitcoin is downloading blocks...
server=1
gen=1
rpcbind=0.0.0.0
rpcuser=rpcuser
rpcpassword=111111
rpcallowip=127.0.0.1
rpcallowip=0.0.0.0/0
listen=1
sudo ~/bitcoin/src/bitcoind -addnode=127.0.0.1:9332 -port=8963 -rpcport=8962 -debug=rpc -dns=0 -dnsseed=0
sudo ~/bitcoin/src/bitcoind -datadir=$HOME/.bitcoin2 -addnode=127.0.0.1:8962 -port=9333 -rpcport=9332 -debug=rpc -dns=0 -dnsseed=0
error code: -10
error message:
Bitcoin is downloading blocks...
server=1
gen=1
rpcbind=0.0.0.0
rpcuser=rpcuser
rpcpassword=111111
rpcallowip=127.0.0.1
rpcallowip=0.0.0.0/0
listen=1
sudo ~/bitcoin/src/bitcoind -addnode=127.0.0.1:9332 -port=8963 -rpcport=8962 -debug=rpc -dns=0 -dnsseed=0
sudo ~/bitcoin/src/bitcoind -datadir=$HOME/.bitcoin2 -addnode=127.0.0.1:8962 -port=9333 -rpcport=9332 -debug=rpc -dns=0 -dnsseed=0
error code: -10
error message:
Bitcoin is downloading blocks...
server=1
gen=1
rpcbind=0.0.0.0
rpcuser=rpcuser
rpcpassword=111111
rpcallowip=127.0.0.1
rpcallowip=0.0.0.0/0
listen=1
sudo ~/bitcoin/src/bitcoind -addnode=127.0.0.1:9332 -port=8963 -rpcport=8962 -debug=rpc -dns=0 -dnsseed=0
sudo ~/bitcoin/src/bitcoind -datadir=$HOME/.bitcoin2 -addnode=127.0.0.1:8962 -port=9333 -rpcport=9332 -debug=rpc -dns=0 -dnsseed=0
error code: -10
error message:
Bitcoin is downloading blocks...
bitcoind -addnode=127.0.0.1:6333 -port=9333 -rpcport=9332 .... other arguments
replace 6333 with your first node's port.
sudo ./bitcoind -addnode=10.211.55.5:8963 -debug=rpc -dns=0 -dnsseed=0
./bitcoin-cli getblocktemplate
bitcoind -addnode=127.0.0.1:6333 -port=9333 -rpcport=9332 .... other arguments
replace 6333 with your first node's port.
CBaseChainParams::nRPCPort in chainparamsbase.cpp
CChainParams::nDefaultPort in chainparams.cpp
CChainParams::pchMessageStart in chainparams.cpp
pchMessageStart[0] = 0xf0;
pchMessageStart[1] = 0xb0;
pchMessageStart[2] = 0xb0;
pchMessageStart[3] = 0xd0;
CChainParams::base58Prefixes in chainparams.cpp.
base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,75);
in validation.cpp:
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// Force block reward to zero when right shift is undefined.
if (halvings >= 64)
return 0;
CAmount nSubsidy = (1 << 10) * COIN; // Initial block reward 1024 coins
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
nSubsidy >>= halvings;
return nSubsidy;
}
in consensus/consensus.h:
static const int COINBASE_MATURITY = 100;
CChainParams::nSubsidyHalvingInternal in chainparams.cpp.
static const CAmount MAX_MONEY = 21000000 * COIN; in amount.h.
In chainparams.cpp:
consensus.nMinimumChainWork = uint256S("0000000000000000000000000000000000000000000000000000000100010001");
048E794284AD7E4D776919BDA05CDD38447D89B436BDAF5F65EBE9D7AD3A0B084908B88162BB60B1AA5ED6542063A30FC9584A335F656A54CD9F66D6C742B67F55
gcc genesis.c -o genesis -lcrypto
$ ./genesis 048E794284AD7E4D776919BDA05CDD38447D89B436BDAF5F65EBE9D7AD3A0B084908B88162BB60B1AA5ED6542063A30FC9584A335F656A54CD9F66D6C742B67F55 "NY Times 07/Apr/2018 More Jobs, Faster Growth and Now, the Threat of a Trade War" 486604799
nBits: 0x1d00ffff
startNonce: 0
unixtime: 0
Coinbase: 04ffff001d01044c504e592054696d65732030372f4170722f32303138204d6f7265204a6f62732c204661737465722047726f77746820616e64204e6f772c2074686520546872656174206f66206120547261646520576172
PubkeyScript: 41048e794284ad7e4d776919bda05cdd38447d89b436bdaf5f65ebe9d7ad3a0b084908b88162bb60b1aa5ed6542063a30fc9584a335f656a54cd9f66d6c742b67f55ac
Merkle Hash: 63f73f6e72c8355d21b5c198406fde2480acf0263fec63dcbe7f6165d410c2c8
Byteswapped: c8c210d465617fbedc63ec3f26f0ac8024de6f4098c1b5215d35c8726e3ff763
Generating block...
939453 Hashes/s, Nonce 23980758224
Block found!
Hash: 00000000ad913538b8764573d00c3eb4a87723e11d8bd008f9125246c58e0252
Nonce: 2398108787
Unix time: 1524021159
genesis = CreateGenesisBlock(1524021159, 2398108787, 0x1d00ffff, 1, 50 * COIN);
assert(consensus.hashGenesisBlock == uint256S("0x00000000ad913538b8764573d00c3eb4a87723e11d8bd008f9125246c58e0252"));
assert(genesis.hashMerkleRoot == uint256S("0xc8c210d465617fbedc63ec3f26f0ac8024de6f4098c1b5215d35c8726e3ff763"));
const char* pszTimestamp = "NY Times 07/Apr/2018 More Jobs, Faster Growth and Now, the Threat of a Trade War";
const CScript genesisOutputScript = CScript() << ParseHex("048e794284ad7e4d776919bda05cdd38447d89b436bdaf5f65ebe9d7ad3a0b084908b88162bb60b1aa5ed6542063a30fc9584a335f656a54cd9f66d6c742b67f55") << OP_CHECKSIG;
In validation.cpp:
int64_t nMaxTipAge = DEFAULT_MAX_TIP_AGE * 4000;
./minerd --user rpcuser --pass 111111 --url http://127.0.0.1:6332/ --threads 4 --coinbase-addr XQg3PmNxX9oEbxsymqtQHir6dkPpVPTJ6P --coinbase-sig "my test coins" -a sha256d -D
2018-04-18 02:31:52 UpdateTip: new best=00000000fbf2808044cbcf00ddb54988c600f65c0960dcf5143bc0a1ed84da39 height=1 version=0x20000000 log2_work=33.000022 tx=2 date='2018-04-18 02:31:36' progress=0.000000 cache=0.0MiB(1txo)
2018-04-18 02:31:52 CreateNewBlock(): block weight: 764 txs: 0 fees: 0 sigops 400
2018-04-18 02:31:52 AddToWallet 8663f334ca80d55ed41ebaaf313935163d57ba3eead98399a3e0b4a2cf679b81 new