Die Begegnung mit "ReadBlockFromDisk: Fehler im block-header auf CBlockDiskPos(nFile=0, nPos=8)" Fehlermeldung, wenn ich lief modifiziert litecoin chainparams.cpp

Zuerst: ich bin ein newbite zu altcoin Entwicklung, neben dem generieren einer altcoin von litecoin,
1 - ich habe einen Klon von litecoin mit git clone https://githubcom/litecoin-project/lotecoin.git
2 - ich habe von Kette und Münze Parameter in chainparams.cpp wie unten:

// Copyright (c) 2010 Satoshi Nakamoto
 // Copyright (c) 2009-2015 Die Bitcoin-Kern-Entwickler
 // Verteilt unter der MIT-software-Lizenz finden Sie in der begleitenden
 // Datei KOPIEREN oder http://www.opensource.org/licenses/mit-license.php.

 #include "chainparams.h"
 #include "Konsens/merkle.h"

 #include "tinyformat.h"
 #include "util.h"
 #include "utilstrencodings.h"

 #include <assert.h>

 #include "chainparamsseeds.h"
 #include "arith_uint256.h"

 statische CBlock CreateGenesisBlock(const char* pszTimestamp, const CScript& genesisOutputScript, uint32_t nuhrzeit, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward)
{
 CMutableTransaction txNew;
 txNew.nVersion = 1;
txNew.vin.resize(1);
txNew.vout.resize(1);
 txNew.vin[0].scriptSig = CScript() << 486604799 << CScriptNum(4) << std::vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
 txNew.vout[0].nValue = genesisReward;
 txNew.vout[0].scriptPubKey = genesisOutputScript;

 CBlock genesis;
 genesis.nuhrzeit = nuhrzeit;
 genesis.nBits = nBits;
 genesis.nNonce = nNonce;
 genesis.nVersion = nVersion;
genesis.vtx.push_back(MakeTransactionRef(std::move(txNew)));
genesis.hashPrevBlock.SetNull();
 genesis.hashMerkleRoot = BlockMerkleRoot(genesis);
 Rückkehr genesis;
}

/**
 * Aufbau der genesis-block. Beachten Sie, dass die Ausgabe seiner generation
 * Transaktion kann nicht ausgegeben werden, da es nicht ursprünglich vorhanden, in der
 * Datenbank.
*
 * CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=4a5e1e, nuhrzeit=1231006505, nBits=1d00ffff, *nNonce=2083236893, vtx=1)
 * CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0)
 * CTxIn(COutPoint(000000, -1), coinbase *04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420**666f722062616e6b73)
 * CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)
 * vMerkleTree: 4a5e1e
*/

 statische CBlock CreateGenesisBlock(uint32_t nuhrzeit, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward)
{
 const char* pszTimestamp = "Teheran Times, Stonica gewinnt endlich";
 const CScript genesisOutputScript = CScript() << ParseHex("040184710fa689ad5023690c80f3a49c8f13f8d45b8c857fbcbc8bc4a8e4d3eb4b10f4d4604fa08dce601aaf0f470216fe1b51850b4acf21b179c45070ac7b03a9") << OP_CHECKSIG;
 zurück CreateGenesisBlock(pszTimestamp, genesisOutputScript, nuhrzeit, nNonce, nBits, nVersion, genesisReward);
}

 void CChainParams::UpdateVersionBitsParameters(Konsens::DeploymentPos d, int64_t nStartTime, int64_t nTimeout)
{
 Konsens.vDeployments[d].nStartTime = nStartTime;
 Konsens.vDeployments[d].nTimeout = nTimeout;
}

/**
 * Main-Netz
*/
/**
 * Was macht ein gutes checkpoint-block?
 * + Umgeben von Blöcken mit vernünftigen Zeitstempel
 * (keine Blöcke, bevor Sie mit einem Zeitstempel nach, keine nach mit
 * Zeitstempel vor)
 * + Enthält keine seltsame Transaktionen
*/

 Klasse CMainParams : öffentliche CChainParams {
öffentlichkeit:
 CMainParams() {
 strNetworkID = "main";
 Konsens.nSubsidyHalvingInterval = 840000;
 Konsens.BIP34Height = 710000;
 Konsens.BIP34Hash = uint256S("00000000b2c50d03d4d0bdd38681775ce522f137518145d6b3c913b7dd4423e5");
 Konsens.BIP65Height = 918684; // bab3041e8977e0dc3eeff63fe707b92bde1dd449d8efafb248c27c8264cc311a
 Konsens.BIP66Height = 811879; // 7aceee012833fa8952f8835d8b1b3ae233cd6ab08fdb27a771d2bd7bdc491894
 Konsens.powLimit = uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); 
 Konsens.nPowTargetTimespan = 3.5 * 24 * 60 * 60; // 3.5 Tage
 Konsens.nPowTargetSpacing = 2.5 * 60;
 Konsens.fPowAllowMinDifficultyBlocks = false;
 Konsens.fPowNoRetargeting = false;
 Konsens.nRuleChangeActivationThreshold = 6048; // 75% 8064
 Konsens.nMinerConfirmationWindow = 8064; // nPowTargetTimespan / nPowTargetSpacing * 4
 Konsens.vDeployments[Konsens::DEPLOYMENT_TESTDUMMY].bit = 28;
 Konsens.vDeployments[Konsens::DEPLOYMENT_TESTDUMMY].nStartTime = 1199145601; // 1. Januar 2008
 Konsens.vDeployments[Konsens::DEPLOYMENT_TESTDUMMY].nTimeout = 1230767999; // Dezember 31, 2008

 // Bereitstellung von BIP68, BIP112, und BIP113.
 Konsens.vDeployments[Konsens::DEPLOYMENT_CSV].bit = 0;
 Konsens.vDeployments[Konsens::DEPLOYMENT_CSV].nStartTime = 1485561600; // 28 Januar 2017
 Konsens.vDeployments[Konsens::DEPLOYMENT_CSV].nTimeout = 1517356801; // Januar 31st, 2018

 // Bereitstellung von SegWit (BIP141, BIP143, und BIP147)
 Konsens.vDeployments[Konsens::DEPLOYMENT_SEGWIT].bit = 1;
 Konsens.vDeployments[Konsens::DEPLOYMENT_SEGWIT].nStartTime = 1485561600; // 28 Januar 2017
 Konsens.vDeployments[Konsens::DEPLOYMENT_SEGWIT].nTimeout = 1517356801; // Januar 31st, 2018

 // Der besten Kette sollte mindestens so viel Arbeit.
 Konsens.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000000ba50a60f8b56c7fe0");

 // Standardmäßig davon ausgehen, dass die Unterschriften, die in den Vorfahren dieses Blocks gültig sind.
 Konsens.defaultAssumeValid = uint256S("0x29c8c00e1a5f446a6364a29633d3f1ee16428d87c8d3851a1c570be8170b04c2"); //1259849

/**
 * Das message-start-string ist so konzipiert, unwahrscheinlich im normalen Daten.
 * Die Zeichen werden nur selten genutzt oberen ASCII, gelten nicht als UTF-8, und produzieren
 * eine große 32-bit-integer mit beliebiger Ausrichtung.
*/
 pchMessageStart[0] = 0x0b;
 pchMessageStart[1] = 0xd0;
 pchMessageStart[2] = 0xb6;
 pchMessageStart[3] = 0xdb;
 nDefaultPort = 9335;
 nPruneAfterHeight = 100000;
 //statische CBlock CreateGenesisBlock(uint32_t nuhrzeit, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward)
 genesis = CreateGenesisBlock(1511279793, 1251189192, 0x1d00ffff , 1, 50 * MÜNZE);
 Konsens.hashGenesisBlock = genesis.GetHash();

 /* 
 // berechnen der Genesis-Block
 // Reset-genesis
 Konsens.hashGenesisBlock = uint256S("0x");
 std::cout << std::string("Beginnen Berechnung Mainnet Genesis Block:\n");
 if (true && (genesis.GetHash() != Konsens.hashGenesisBlock)) {
 LogPrintf("Berechnung von Mainnet Genesis Block:\n");
 arith_uint256 hashTarget = arith_uint256().SetCompact(genesis.nBits);
 uint256 hash;
 genesis.nNonce = 0;
 // Dies herauszufinden, einen gültigen Hashwert und der Nonce, wenn Sie
 // Erstellung einer anderen genesis-block:
 // uint256 hashTarget = CBigNum().SetCompact(genesis.nBits).getuint256();
 // hashTarget.SetCompact(genesis.nBits, &fNegative, &fOverflow).getuint256();
 // while (genesis.GetHash() > hashTarget)
 while (UintToArith256(genesis.GetHash()) > hashTarget)
{
++genesis.nNonce;
 wenn (genesis.nNonce == 0)
{
 LogPrintf("NONCE GEWICKELT, erhöht die Zeit");
 std::cout << std::string("NONCE GEWICKELT, increment time:\n");
++genesis.nuhrzeit;
}
 wenn (genesis.nNonce % 10000 == 0)
{
 LogPrintf("Mainnet: nonce %08u: hash = %s \n", genesis.nNonce, genesis.GetHash().ToString().c_str());
 // std::cout << strNetworkID << "nonce:" << genesis.nNonce << "time:" << genesis.nuhrzeit << "hash:" << genesis.GetHash().ToString().c_str() << "\n";
}
}
 std::cout << "Mainnet ---\n";
 std::cout << "nonce:" << genesis.nNonce << "\n";
 std::cout << "time:" << genesis.nuhrzeit << "\n";
 std::cout << "hash:" << genesis.GetHash().ToString().c_str() << "\n";
 std::cout << "merklehash:" << genesis.hashMerkleRoot.ToString().c_str() << "\n";
 // Mainnet --- nonce: 296277 Zeit: 1390095618 hash: 000000bdd771b14e5a031806292305e563956ce2584278de414d9965f6ab54b0
}
 std::cout << std::string("Finished Berechnung Mainnet Genesis Block:\n");


*/





//printf("%s\n",Konsens.hashGenesisBlock.Tostring().c_str());
 std::cout << std::string("EINGABE:\n");
 assert(Konsens.hashGenesisBlock == uint256S("0x00000000b2c50d03d4d0bdd38681775ce522f137518145d6b3c913b7dd4423e5"));
 assert(genesis.hashMerkleRoot == uint256S("0xf8621e34b0dcd43361fe589702e06aa79992229bfbca57d058d8561635c30fbe"));
 std::cout << std::string("BESTANDEN\n");

 printf("min nBit: %08x\n", Konsens.powLimit);

 // Beachten Sie, dass dieser mit der bits-Dienst flag, die meisten unterstützen nur eine Teilmenge der möglichen Optionen
 //vSeeds.emplace_back("Saatgut-ein.stonicacoin.loshan.co.uk", true);
 //vSeeds.emplace_back("dnsseed.thrasher.io", true);
 //vSeeds.emplace_back("dnsseed.stonicacointools.com", true);
 //vSeeds.emplace_back("dnsseed.stonicacoinpool.org", true);
 //vSeeds.emplace_back("dnsseed.koin-project.com", false);

 base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,127);
 base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,65);
 base58Prefixes[SCRIPT_ADDRESS2] = std::vector<unsigned char>(1,56);
 base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1.176 Meldungen);
 base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x88, 0xB2, 0x1E};
 base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x88, 0xAD, 0xE4};

 vFixedSeeds = std::vector<SeedSpec6>(pnSeed6_main, pnSeed6_main + ARRAYLEN(pnSeed6_main));

 fDefaultConsistencyChecks = false;
 fRequireStandard = true;
 fMineBlocksOnDemand = false;

 checkpointData = (CCheckpointData) {
{
 { 0, uint256S("0x00000000b2c50d03d4d0bdd38681775ce522f137518145d6b3c913b7dd4423e5")},

}
};

 chainTxData = ChainTxData{
 // Daten als block db42d00d824950a125f9b08b6b6c282c484781562fa8b3bd29d6ce4a2627c348 (Höhe 1259851).
 1502955334, // * UNIX-Zeitstempel der letzten bekannten Zahl von Transaktionen
 1, // * Anzahl der Transaktionen zwischen genesis und timestamp
 // (tx=... - Nummer in der SetBestChain Debuggen.log-Zeilen)
 0.00 // * geschätzte Anzahl von Transaktionen pro Sekunde nach timestamp
};
}
};

/**
 * Testnet (v3)
*/
 Klasse CTestNetParams : öffentliche CChainParams {
öffentlichkeit:
 CTestNetParams() {
 strNetworkID = "test";
 Konsens.nSubsidyHalvingInterval = 840000;
 Konsens.BIP34Height = 76;
 Konsens.BIP34Hash = uint256S("8075c771ed8b495ffd943980a95f702ab34fce3c8c54e379548bda33cc8c0573");
 Konsens.BIP65Height = 76; // 8075c771ed8b495ffd943980a95f702ab34fce3c8c54e379548bda33cc8c0573
 Konsens.BIP66Height = 76; // 8075c771ed8b495ffd943980a95f702ab34fce3c8c54e379548bda33cc8c0573
 Konsens.powLimit = uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
 Konsens.nPowTargetTimespan = 3.5 * 24 * 60 * 60; // 3.5 Tage
 Konsens.nPowTargetSpacing = 2.5 * 60;
 Konsens.fPowAllowMinDifficultyBlocks = true;
 Konsens.fPowNoRetargeting = false;
 Konsens.nRuleChangeActivationThreshold = 1512; // 75% für testchains
 Konsens.nMinerConfirmationWindow = 2016; // nPowTargetTimespan / nPowTargetSpacing
 Konsens.vDeployments[Konsens::DEPLOYMENT_TESTDUMMY].bit = 28;
 Konsens.vDeployments[Konsens::DEPLOYMENT_TESTDUMMY].nStartTime = 1199145601; // 1. Januar 2008
 Konsens.vDeployments[Konsens::DEPLOYMENT_TESTDUMMY].nTimeout = 1230767999; // Dezember 31, 2008

 // Bereitstellung von BIP68, BIP112, und BIP113.
 Konsens.vDeployments[Konsens::DEPLOYMENT_CSV].bit = 0;
 Konsens.vDeployments[Konsens::DEPLOYMENT_CSV].nStartTime = 1483228800; // Januar 1, 2017
 Konsens.vDeployments[Konsens::DEPLOYMENT_CSV].nTimeout = 1517356801; // Januar 31st, 2018

 // Bereitstellung von SegWit (BIP141, BIP143, und BIP147)
 Konsens.vDeployments[Konsens::DEPLOYMENT_SEGWIT].bit = 1;
 Konsens.vDeployments[Konsens::DEPLOYMENT_SEGWIT].nStartTime = 1483228800; // Januar 1, 2017
 Konsens.vDeployments[Konsens::DEPLOYMENT_SEGWIT].nTimeout = 1517356801; // Januar 31st, 2018

 // Der besten Kette sollte mindestens so viel Arbeit.
 Konsens.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000000000364b0cbc3568");

 // Standardmäßig davon ausgehen, dass die Unterschriften, die in den Vorfahren dieses Blocks gültig sind.
 Konsens.defaultAssumeValid = uint256S("0xad8ff6c2f5580d2b50bd881e11312425ea84fa99f322bf132beb722f97971bba"); //153490

 pchMessageStart[0] = 0xfd;
 pchMessageStart[1] = 0xd2;
 pchMessageStart[2] = 0xc8;
 pchMessageStart[3] = 0xf1;
 nDefaultPort = 19335;
 nPruneAfterHeight = 1000;

 genesis = CreateGenesisBlock(1511279793, 0, 0x1d00ffff , 1, 50 * MÜNZE);
 Konsens.hashGenesisBlock = genesis.GetHash();
 //assert(Konsens.hashGenesisBlock == uint256S("0x"));
 //assert(genesis.hashMerkleRoot == uint256S("0x"));

vFixedSeeds.clear();
vSeeds.clear();
 // nodes mit Unterstützung für servicebits filtern sollte an der Spitze
 //vSeeds.emplace_back("testnet-seed.stonicacointools.com", true);
 //vSeeds.emplace_back("seed-b.stonicacoin.loshan.co.uk", true);
 //vSeeds.emplace_back("dnsseed-testnet.thrasher.io", true);

 base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,111);
 base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,196);
 base58Prefixes[SCRIPT_ADDRESS2] = std::vector<unsigned char>(1,58);
 base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,239);
 base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
 base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};

 vFixedSeeds = std::vector<SeedSpec6>(pnSeed6_test, pnSeed6_test + ARRAYLEN(pnSeed6_test));

 fDefaultConsistencyChecks = false;
 fRequireStandard = false;
 fMineBlocksOnDemand = false;

 checkpointData = (CCheckpointData) {
{
 {0, uint256S("")},
}
};

 chainTxData = ChainTxData{
 // Daten als block 3351b6229da00b47ad7a8d7e1323b0e2874744b5296e3d6448293463ab758624 (Höhe 153489)
//1502953751,
//382986,
//0.01
};

}
};

/**
 * Regression-test
*/
 Klasse CRegTestParams : öffentliche CChainParams {
öffentlichkeit:
 CRegTestParams() {
 strNetworkID = "regtest";
 Konsens.nSubsidyHalvingInterval = 150;
 Konsens.BIP34Height = 100000000; // BIP34 nicht aktiviert regtest (weit in der Zukunft, so block v1 nicht abgelehnt tests)
 Konsens.BIP34Hash = uint256();
 Konsens.BIP65Height = 1351; // BIP65 aktiviert regtest (Verwendet in rpc-Aktivierung tests)
 Konsens.BIP66Height = 1251; // BIP66 aktiviert regtest (Verwendet in rpc-Aktivierung tests)
 Konsens.powLimit = uint256S("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
 Konsens.nPowTargetTimespan = 3.5 * 24 * 60 * 60; // zwei Wochen
 Konsens.nPowTargetSpacing = 2.5 * 60;
 Konsens.fPowAllowMinDifficultyBlocks = true;
 Konsens.fPowNoRetargeting = true;
 Konsens.nRuleChangeActivationThreshold = 108; // 75% für testchains
 Konsens.nMinerConfirmationWindow = 144; // Schneller als normal für regtest (144 statt 2016)
 Konsens.vDeployments[Konsens::DEPLOYMENT_TESTDUMMY].bit = 28;
 Konsens.vDeployments[Konsens::DEPLOYMENT_TESTDUMMY].nStartTime = 0;
 Konsens.vDeployments[Konsens::DEPLOYMENT_TESTDUMMY].nTimeout = 999999999999ULL;
 Konsens.vDeployments[Konsens::DEPLOYMENT_CSV].bit = 0;
 Konsens.vDeployments[Konsens::DEPLOYMENT_CSV].nStartTime = 0;
 Konsens.vDeployments[Konsens::DEPLOYMENT_CSV].nTimeout = 999999999999ULL;
 Konsens.vDeployments[Konsens::DEPLOYMENT_SEGWIT].bit = 1;
 Konsens.vDeployments[Konsens::DEPLOYMENT_SEGWIT].nStartTime = 0;
 Konsens.vDeployments[Konsens::DEPLOYMENT_SEGWIT].nTimeout = 999999999999ULL;

 // Der besten Kette sollte mindestens so viel Arbeit.
 Konsens.nMinimumChainWork = uint256S("0x00");

 // Standardmäßig davon ausgehen, dass die Unterschriften, die in den Vorfahren dieses Blocks gültig sind.
 Konsens.defaultAssumeValid = uint256S("0x00");

 pchMessageStart[0] = 0xfa;
 pchMessageStart[1] = 0xbf;
 pchMessageStart[2] = 0xb5;
 pchMessageStart[3] = 0xda;
 nDefaultPort = 19444;
 nPruneAfterHeight = 1000;

 genesis = CreateGenesisBlock(1511279793, 0, 0x1d00ffff , 1, 50 * MÜNZE);
 Konsens.hashGenesisBlock = genesis.GetHash();
 assert(Konsens.hashGenesisBlock == uint256S("0x9"));
 assert(genesis.hashMerkleRoot == uint256S("0x"));

 vFixedSeeds.clear(); //!< Regtest-Modus nicht über einen festen Samen.
 vSeeds.clear(); //!< Regtest-Modus keinen DNS-Samen.

 fDefaultConsistencyChecks = true;
 fRequireStandard = false;
 fMineBlocksOnDemand = true; 

 checkpointData = (CCheckpointData) {
{
 {0, uint256S("530827f38f93b43ed12af0b3ad25a288dc02ed74d6d7857862df51fc56c416f9")},
}
};

 chainTxData = ChainTxData{
0,
0,
0
};

 base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,111);
 base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,196);
 base58Prefixes[SCRIPT_ADDRESS2] = std::vector<unsigned char>(1,58);
 base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,239);
 base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
 base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};
}
};

 static std::unique_ptr<CChainParams> globalChainParams;

 const CChainParams &Params() {
assert(globalChainParams);
 return *globalChainParams;
}

 std::unique_ptr<CChainParams> CreateChainParams(const std::string& Kette)
{
 wenn (chain == CBaseChainParams::MAIN)
 return std::unique_ptr<CChainParams>(neue CMainParams());
 else if (Kette == CBaseChainParams::TESTNET)
 return std::unique_ptr<CChainParams>(neue CTestNetParams());
 else if (Kette == CBaseChainParams::REGTEST)
 return std::unique_ptr<CChainParams>(neue CRegTestParams());
 throw std::runtime_error(strprintf("%s: Unbekannter Kette %s.", __func__, Kette));
}

 void SelectParams(const std::string& Netzwerk)
{
SelectBaseParams(Netzwerk);
 globalChainParams = CreateChainParams(Netzwerk);
}

 void UpdateVersionBitsParameters(Konsens::DeploymentPos d, int64_t nStartTime, int64_t nTimeout)
{
 globalChainParams->UpdateVersionBitsParameters(d, nStartTime, nTimeout);

Wie Sie vielleicht wissen die bitcoin-Entwickler es versäumt hat, die genesis mining block-code aus source-code veröffentlicht in github, aber ich habe zum Glück fand einige Stück code in blogs und es funktionierte, dann habe ich berechnet die neue Genesis-hash, Merkelroot hash-und Nonce und in die code-wie Sie oben sehen können. Wurde der code korrekt compiliert, und ich habe nicht Assertion failed-Nachricht für Genesis-block, aber ich habe eine andere Fehlermeldung, die Sie sehen können, in debug.log wie folgt:

 2017-12-15 07:31:33 



















 2017-12-15 07:31:33 Stonicacoin version v0.15.0.1-gba8ed3a93be
 2017-12-15 07:31:33 InitParameterInteraction: parameter der Interaktion: -whitelistforcerelay=1 -> Einstellung -whitelistrelay=1
 2017-12-15 07:31:33 Vorausgesetzt, die Vorfahren der block 29c8c00e1a5f446a6364a29633d3f1ee16428d87c8d3851a1c570be8170b04c2 gültige Unterschriften.
 2017-12-15 07:31:33 Mit der "standard" - SHA256 implementation
 2017-12-15 07:31:33 Mit RdRand als eine weitere Entropie-Quelle
 2017-12-15 07:31:33 Standard-Daten-Verzeichnis /home/kevin/.stonicacoin
 2017-12-15 07:31:33 Mit Daten-Verzeichnis /home/kevin/.stonicacoin
 2017-12-15 07:31:33 config-Datei /home/kevin/.stonicacoin/stonicacoin.conf
 2017-12-15 07:31:33 Mit maximal 125 automatische verbindungen (1024 file descriptors available)
 2017-12-15 07:31:33 16 MiB aus 32/2 angefordert für den Signatur-cache speichern kann, 524288 Elemente
 2017-12-15 07:31:33 16 MiB aus 32/2 beantragt für die Ausführung von Skript-cache speichern kann, 524288 Elemente
 2017-12-15 07:31:33 Mit 8 threads für die Skript-überprüfung
 2017-12-15 07:31:33-scheduler-thread starten
 2017-12-15 07:31:33 HTTP: erstellen von work queue-Tiefe 16
 2017-12-15 07:31:33 Keine rpcpassword set - zufällige cookie-Authentifizierung
 2017-12-15 07:31:33 Generierte RPC-Authentifizierung cookie /home/kevin/.stonicacoin/.cookie
 2017-12-15 07:31:33 HTTP: ab 4 worker-threads
 2017-12-15 07:31:33 Cache-Konfiguration:
 2017-12-15 07:31:33 * Mit 2.0 MiB für block-index-Datenbank
 2017-12-15 07:31:33 * Mit 8.0 MiB für Kette-state-Datenbank
 2017-12-15 07:31:33 * Verwendung 440.0 MiB für in-memory-UTXO-set (plus bis zu 4,8 MiB unbenutzt mempool Raum)
 2017-12-15 07:31:33 init message: Loading block-index...
 2017-12-15 07:31:33 Eröffnung LevelDB in /home/kevin/.stonicacoin/blocks/index
 2017-12-15 07:31:33 Geöffnet LevelDB erfolgreich
 2017-12-15 07:31:33 Mit der Verschleierung der Schlüssel für die /home/kevin/.stonicacoin/blocks/index: 0000000000000000
 2017-12-15 07:31:33 LoadBlockIndexDB: letzter block Datei = 0
 2017-12-15 07:31:33 LoadBlockIndexDB: letzter block Datei-Informationen: CBlockFileInfo(Blöcke=0, size=0, Höhe=0...0, time=1970-01-01...1970-01-01)
 2017-12-15 07:31:33 Überprüfung der blk-Dateien sind vorhanden...
 2017-12-15 07:31:33 LoadBlockIndexDB: Transaktion index deaktiviert
 2017-12-15 07:31:33 Initialisierung der Datenbanken...
 2017-12-15 07:31:33 Pre-allocating bis zu position 0x1000000 in blk00000.dat
 2017-12-15 07:31:33 Eröffnung LevelDB in /home/kevin/.stonicacoin/chainstate
 2017-12-15 07:31:33 Geöffnet LevelDB erfolgreich
 2017-12-15 07:31:33, Schrieb neue verschleiern Schlüssel für die /home/kevin/.stonicacoin/chainstate: 77f259e28117a4e1
 2017-12-15 07:31:33 Mit der Verschleierung der Schlüssel für die /home/kevin/.stonicacoin/chainstate: 77f259e28117a4e1
 2017-12-15 07:31:33 init-Nachricht: Zurückspulen Blöcke...
 2017-12-15 07:31:33 block index 11ms
 2017-12-15 07:31:33 No wallet-Unterstützung einkompiliert!
 2017-12-15 07:31:33-FEHLER: ReadBlockFromDisk: Fehler im block-header auf CBlockDiskPos(nFile=0, nPos=8)
 2017-12-15 07:31:33 *** Failed to read block
 2017-12-15 07:31:33-Fehler: Fehler: Ein schwerwiegender interner Fehler aufgetreten, siehe debug.log für details

Ich fand, dass dieser Fehler(zB. FEHLER: ReadBlockFromDisk: Fehler im block-header auf CBlockDiskPos(nFile=0, nPos=8) ) auftreten, in CheckProofOfWork Funktion, die in pow.cpp Jede Empfehlung ist willkommen.

+937
scootcho 03.12.2016, 14:24:55
29 Antworten

So weit ich weiß, diese beiden sind die am weitesten fortgeschrittenen, und Ihre beste Wette ist, gehen zu einer Bestellung und zu warten, für Sie zu versenden. Leider, wie ich auf Bestellung und warte ungeduldig.

+942
Liquid Sky 03 февр. '09 в 4:24

Hallo, ich bin auf der Suche in eine sichere Spenden-Geldbörse für den RCK - Flüchtlings-Community-Küche. http://refugeecommunitykitchen.com/ Sie leisten großartige Arbeit, um eine humanitäre Reaktion auf die humanitäre Krise in Nord-Frankreich. Die Gründer sind glücklich für mich zu arbeiten auf setting up a secure wallet für Spenden, die zu öffnen, um Sie zu unterstützen aus der cryptocommunity. Ich will einfach nur, um sicherzustellen, seine so einfach zu verwalten wie möglich, obwohl ich bin vollkommen davon überzeugt, dass die Spender genau wissen, was zu tun ist, der Spenden-link Hinzugefügt werden, um Ihre Haupt-Webseite und im Idealfall muss so wartungsfrei wie möglich. Ich habe über auf die SAFEnet-forum und gegeben eine Menge guter Ratschläge und wies in die Richtung des Copay. Ich verstehe von helfen im forum, weil seine open-source-und multi-sig Copay ist eine gute option. Was ich kann nicht scheinen zu begreifen ist, wenn eine Copay wallet eignet sich für die Spenden von anderen cryptocurrencies sowie Bitcoin? Ich weiß meine Fragen sind sehr einfach - so ist mein Verständnis, dass ich wirklich zu schätzen Ihre kompetente Meinung. Ich schaute auf Coinomi wie dieser schien leicht unterstützen, Spenden für viele verschiedene Münzen. Übersehe ich etwas grundlegendes hier? Kann eine Copay Wallet akzeptieren ohne weiteres mehrere Arten von kryptogeld? Ich danke Ihnen sehr für Ihre Hilfe mit diesem!

+926
Nitinkumar Ambekar 28.05.2015, 06:05:44

Wie es scheint,, was heißt denn hier ist eine grundlegende Erklärung der zwei Bitcoin-big-Konzept: der Geldbeutel und der blockchain:

  • Ein "wallet" ist eine Sammlung von ECDSA-Schlüsselpaaren. Für diejenigen, die nicht vertraut mit Kryptographie Schlüsselpaar aus einem "öffentlichen Schlüssel" und einen "privaten Schlüssel", die verwendet werden können, zu verschlüsseln oder signieren-bit-Daten. Der öffentliche Schlüssel wird, wie der name schon sagt, ist allen bekannt und können verwendet werden, um Nachrichten zu verschlüsseln, in einer Weise, dass der Inhaber des privaten Schlüssels allein kann entschlüsselt werden. Der private Schlüssel kann auch verwendet werden, die zum signieren von Nachrichten in der Weise, dass jedermann hält den öffentlichen Schlüssel verifiziert werden kann, dass die Nachricht wirklich von Ihnen stammt. Jede Bitcoin-Adresse besteht aus einem Schlüsselpaar - die "Adresse" schicken Sie die Leute ist, die öffentliche Hälfte und die private Hälfte befindet sich in Ihrem Portemonnaie.dat-Datei.
  • Die "blockchain" ist eine ständig wachsende Datenbank mit Informationen zu den Transaktionen, die gesendet wird, um alle Knoten im Bitcoin-Netzwerk. Beim ausführen einer Transaktion, die Transaktion verteilt sich auf die Netzwerk-und vorausgesetzt, die Transaktion gültig ist, wird Sie in den nächsten "block." Dies ist, wo die Münzen selbst sind gespeichert. Wenn Sie initiieren eine Transaktion, die alle vorherigen Transaktionen zu oder von dieser Adresse gescannt werden und der Saldo berechnet. Wenn Ihre Transaktion übersteigt das verfügbare Guthaben, wird abgelehnt durch das Netz und wird nicht aufgenommen werden in einem block.

Es ist auch wichtig zu beachten, dass die blockchain technisch nicht speichern "Münzen" es speichert Informationen über Transaktionen. Die Münzen selbst sind nicht getrennte Dinge, die Lagerung müssen - wenn Sie Münzen zu abgebaut werden die miner ' s balance ist die Gutschrift über einen "erstellen" - Transaktion, die zusätzlich zu sein oder Ihr verfügbares Guthaben. Wenn die Münzen sind geschickt von A nach B, dass die Transaktion zieht Eine Bilanz und fügt an B ' s Gleichgewicht. Dies ist ähnlich der Art und Weise, dass Ihr Arbeitgeber kann über EFT, dann senden Sie "Geld" zur bank und können Sie mit Ihrer EC-Karte zu verbringen, dass "Geld" in einem Geschäft, alle, ohne dass jemand jemals zu sehen, eine diskrete physikalische dollar-Schein. Am meisten Geld in der Welt von heute existiert nur als Transaktion Geschichten und Salden - Bitcoin ist keine Ausnahme.

+918
Adam Maxwell 17.02.2014, 22:58:00

Ich bin mit einem game giveaway-Gruppe auf Steam. Was ist der beste Weg, um die Annahme von Spenden?

P. S ich bin ganz und gar neue Bitcoin.

+907
user62755 24.04.2011, 09:06:55

Alles, was Sie tun müssen, ist senden Sie Ihre bitcoins an MtGox und Sie zurück zu einer neuen Adresse. MtGox Prozesse so viele bitcoin-Einzahlungen und Auszahlungen, hast du sehr wahrscheinlich nicht die gleichen Münzen zurück, und so niemand (außer MtGox und alle, die Zugriff auf Ihre Datenbank) wäre in der Lage, binden Sie Ihre Einzahlung zusammen mit Ihrem Rücktritt. Alternativ stellen 2 MtGox Konten, Einzahlung in einem, eine einlösbar code " zu übertragen, die Münzen zu den anderen account, und vom es. Dann auch MtGox nicht sicher sein können, die Münzen nicht wechseln.

+876
doxin 15.07.2016, 16:52:17

Sie finden eine Liste der services und Kaufleute akzeptieren, dass Litecoin auf die Litecoin-Wiki.
Das heißt, Litecoin hat nur minimale Unterschiede zu Bitcoin: Es nutzt Scrypt als seine Mining-Algorithmus und reduziert die block-Intervall von 2,5 Minuten, während die Halbierung des Intervalls (durch die Auflage, vier mal die Blöcke vor der Halbierung).

TL;DR: es sei denn, es ist finanziell rentabel für Sie, scheint es wenig Grund zu der mine Litecoin. Sie finden mein Punkt-für-Punkt-Begründung weiter unten.

Block-Intervall

  • Erste Bestätigung kann erreicht werden, in etwa 2,5 Minuten.
    Dies ist der größte Vorteil gegenüber Bitcoin aber es ist immer noch zu lang für eine Transaktion in einem physischen Geschäft, und in den meisten anderen Szenarien warten auf 2.5 Minuten oder zehn Minuten ist kaum ein Unterschied.
  • Litecoin behandeln kann, etwa vier mal die Anzahl der Transaktionen über Bitcoin können.
    Jedoch, Litecoin hat nur etwa 5.000 Transaktionen pro Tag, während Bitcoin hat mehr als 100.000 (vor kurzem Höchststand von 200.000 aufgrund der spam-Angriffe), rendering dieser Vorteil irrelevant bisher.
  • Geldbörsen speichern, auf vier mal so viele Blöcke.
    Eine ähnlich verwertet blockchain wäre deutlich größer, und die zusätzlichen Blöcke sind vor allem ein problem für die SPV-wallets, die store vier mal so viele block-Header.
  • Kürzere Blöcke zugunsten von großen mining-pools und verursachen mehr SPV mining.
    Die vor kurzem häufiger SPV abgebauten Blöcke (im wesentlichen leere Blöcke) verursacht haben eine zusätzliche Obere Schranke für die Transaktion Kapazität in Bitcoin, die zu Diskussion auf, ob sogar 10 Minuten wäre zu kurz, wenn man um Bitcoins aus dem nichts.

Scrypt vs SHA-256

  • "Scrypt ist GPU und ASIC-resistent."
    Während Scrypt profitiert weniger von raw computing power, erfordert aber auch mehr RAM, reduziert, hat den Vorteil von GPU und ASICs etwas, aber sein Widerstand wurde inzwischen widerlegt durch das auftreten von Scrypt-ASICs. Im wesentlichen, Sie einfach zu kaufen waren verschiedener hardware in ein ähnliches Spiel.
  • Scrypt ist schwieriger zu überprüfen.
    Die Berechnung pro Scrypt-hash ist komplexer, es dauert länger, um zu überprüfen, Blöcke. Dies erschwert die Synchronisation der normale Knoten und Anforderungen hardware-wallets haben deutlich mehr power, um noch mithalten mit dem Netzwerk. Diese Grenzen der ASIC-Resistenz von Scrypt, da höhere Anforderungen an den Arbeitsspeicher würde auch dazu führen, langsamer überprüfung.
  • Scrypt nicht bieten ein höheres Maß an Sicherheit.
    Am Ende ist die balance zwischen den wirtschaftlichen Anreiz und die Kosten für die Bereitstellung von mining-power. Die trade-off ist das gleiche wie mit Bitcoin, also nicht die Bereitstellung aller wesentlichen Vorteil.

Netzwerk-Effekt

Währungen sind ein Mittel für die Gesellschaft zu Messen, einzelnen Beiträge und Ansprüche an die Gesellschaft. Dies ist ein Netzwerk, das stark profitiert von der Marktdurchdringung: so, wie ein Handy ist nützlich, wenn Sie und Ihre beste Freundin haben, ist es zunehmend sinnvoll, wenn jeder hat eine.
Systeme, die anzeigen, wie ein Netzwerk-Effekt zeigen eine starke Tendenz zu einem dominierenden Ausstellung pro Gesellschaft. Beispiele für die Wirkung bei der Arbeit sind die Beseitigung von Sprachen durch Globalisierung, Facebook vs Myspace, oder per E-Mail vs Snail-Mail. Bei cryptocurrencies, das internet ist der Bereich der Gesellschaft in diesem Wettbewerb präsentiert.
Anders als in den vorherigen Beispielen wie Facebook, die Sprachbarriere ist kaum ein Hindernis, als Währung ist eine eigene Sprache, die überschreitung kultureller Grenzen.

Aufgrund Litecoin ähnlichkeit zu Bitcoin, ich sehe zwei langfristige Möglichkeiten:

  1. Bitcoin lebt: In diesem Fall entstehen ein (oder sehr wenige deutlich specialized) dominant kryptogeld. Als Litecoin scheint keine Funktion keine überzeugenden Vorteile gegenüber Bitcoin der Vorsprung in der Marktdurchdringung, ich scheitern zu sehen, dass Litecoin wird an jedem Punkt nützlicher oder wertvoller als Bitcoin.
  2. Bitcoin scheitert: so ähnlich, ich kann das nicht wahrnehmen, die Merkmale, die es ermöglichen, Litecoin erfolgreich zu sein, wo Bitcoin gescheitert.

"Das Transaktionsvolumen wird die Skala durch altcoins"

Ich bin weiterhin nicht überzeugt, dass jemand daran interessiert wäre, zu halten und Transaktionen in einer Vielzahl von Währungen, und das jeden Tag. Es ist unbequem und verwirrend.
Es können mehrere cryptocurrencies catering für ganz unterschiedliche Bedürfnisse und/oder Gesellschaften. Es ist jedoch wahrscheinlich, dass Sie würde gekoppelt werden Synonym verwendet in einigen Mode, wie vielleicht die Bitcoin blockchain und der Lightning-Netzwerk.

Litecoin hat einen nutzen, da ein höherer Anteil Testnet für Bitcoin

Litecoin wurde als Testgelände für neue Bitcoin-features in der Vergangenheit, zum Beispiel beim Litecoin aktiviert segwit vor Bitcoin. Dies ist ein Vorteil für Bitcoin-Nutzer meistens, aber ich sehe nicht, wie das treibt die Nachfrage für Litecoin.

Fazit: Es gibt wenig Grund zu der mine Litecoin

Es sei denn, Sie finden, dass es profitabel zu sein, um mir Litecoin und verkaufen Sie an die größeren Narren, ich finde keinen anderen Grund mine Litecoin.

+849
Kysok 09.04.2015, 05:14:21

Ich erstellte diese Seite, die auf dem Bitcoin-wiki, bitte, um es hinzuzufügen.

(BTW, das wiki ist sehr langsam für den letzten Tag oder so)

+817
CarlosSilva 06.03.2014, 22:16:19

Unabhängig davon, was die Brieftasche, die Sie verwenden, es ist völlig unabhängig von Ihren mining-außer als Auszahlung. Die Adresse, die Sie sich zurückziehen können, werden in einem wallet überall (auch offline).

P. S. Du solltest wirklich überlegen, ein Upgrade auf BFGMiner statt.

+816
Brahma Datta 23.11.2019, 22:06:28

Bitcoin-Core-0.13.1 bevorzugt hält mindestens 4 ausgehende Kollegen werben, dass NODE_WITNESS Unterstützung zu vermeiden, wird partitioniert. Sie sind nicht nur eine Verbindung zu diesen Knoten, mehr als 4 ausgehende peers zufällige oder verursacht durch diejenigen, die andere peers, mit denen Sie vor kurzem verbunden.

auch wenn nach bitnodes Rangliste, diese Knoten bilden eine Minderheit.

Bitnodes zeigt nur peers mit listening sockets zur Verfügung. Es ist eine unbekannte, größere Anzahl von Knoten bestehen, die hören nicht auf einen öffentlichen port und wird nicht Teil der Rangliste, aber eine Verbindung zu Ihnen. Der bevorzugte peering-verschärft diesen Effekt, aber ist Sie wirklich notwendig ist.

+742
user1903083 08.03.2015, 11:16:18

Sie Transaktion bleibt unbestätigt, bis alle Eingänge auf Ihre Transaktion bestätigt wird. Vorausgesetzt, die richtige Transaktion Gebühren bezahlt wurden, die unbestätigte Zahlung warten Sie auf Sie zu bestätigen. Sobald das passiert Ihr ausgehende Transaktion wird bestätigen, wie gut.

Ihr Geldbeutel wird es immer die Suche nach bestätigter Eingaben zuerst und verwendet nur unbestätigte Eingaben wie der Letzte.

https://github.com/bitcoin/bitcoin/issues/3288

Um zu vermeiden, erstellen Ketten von bestätigten Transaktionen immer auch eine entsprechende Bearbeitungsgebühr an.

https://bitcoinfees.21.co/#delay

+687
Learn Teach everything 23.09.2016, 14:14:13

Habe ich geschickt und erhielt eine Reihe von Zahlungen über die Anfrage-Funktion ohne problem. Wenn ich allerdings schickte zwei Zahlungen, die direkt von einer bitcoin-wallet-Adresse zu einer anderen (von einem business Konto in ein persönliches Konto, öffentliche Adressen), Sie sind noch auf ankommen das Ziel! Ist es ein extra Schritt? Ich kann nicht sehen, dass es ist. Danke D

Transaktions-IDs e9104412aac5327e5eaad31485335d822d5e7a22f00c370d8f055286ed02e187 / 0e5fcac8b0618eabff747a0dea4cf4ff7dddf4b323e52f3473cd7581a88c425c

+676
Shmoo 23.01.2013, 10:50:10

http://blockchain.litecoin.net

Es kann eine Warnung auf der Website, aber was Sie tun sollten ist, setzen Sie die blk0001.dat-Datei in das Litecoin-Daten-Ordner (~/.litecoin standardmäßig unter gnu/linux) dann, wenn Sie Sie ausführen litecoind oder litecoin-qt für die erste Zeit, zählen die reindex-option auf der Kommandozeile.

+604
SS Nguyen 02.06.2016, 14:24:10

Ich schaffte es, zu bauen bitcoind auf arch linux nach dem herunterladen der source von github, aber nach dem ausführen von bitcoind getinfo-Befehl, so wird mir gesagt:

"Fehler" : "Dies ist ein pre-release test-build - Nutzung auf eigene Gefahr - verwenden Sie nicht für den Bergbau oder Kaufmann-Anwendungen"

Wie kann ich entfernen, die Nachricht, und verwenden Sie einen stabilen build, statt der pre-release-eine, die ich heruntergeladen?

Ich nehme an, ich habe etwas zu tun mit den Informationen finden Sie hier: https://github.com/bitcoin/bitcoin/tags

+589
Nuzzolilo 07.03.2017, 01:52:07

Eine der besten Seiten die ich gefunden habe, ist Bitcoincharts.com. Die charts können Sie sehen, Bitcoin Preise aus seiner ganzen Geschichte oder unten, um die Stunde. Es ermöglicht das anzeigen der Preise auf den verschiedenen Börsen und Märkten zu.

+541
Devyn Cunningham 05.02.2012, 16:40:45

Zunächst einmal ist es wichtig zu betonen, dass die Welligkeit (im Gegensatz zu Bitcoin) wurde entwickelt von einer Firma, OpenCoin Inc. Es gibt keine Informationen über die einzelnen Entwickler auf ripple.com oder opencoin.com. Die folgenden Informationen können gefunden werden aus dem Whois opencoin.com:

Registrant:
 OpenCoin Inc
 268 Bush St. #2724
 San Francisco, CA 94104
UNS

Das sagte Ripple ist (wird sein) open source und dezentralisiert, die Leute können schreiben, miteinander konkurrierende Kunden und dem Ripple-Netzwerk funktionieren könnte in Zukunft ohne OpenCoin Inc.

+529
Znayushaya 24.05.2012, 13:55:05

Ich höre immer wieder, dass bitcoin ist dezentral, d.h. keine Einheit besitzt. Und jeden computer, der Teil von bitcoin-Netzwerk hält die Kopie von ledger.

Meine Frage ist: wer behält den überblick über alle Computer im bitcoin-Netzwerk? Für z.B. wenn eine Transaktion passiert, wer sendet (oder-Sendungen), um Netzwerk-so können alle eine Kopie davon zu halten?

Macht es nicht, es zentralisiert?

+520
Abhinav Gupta 03.05.2018, 19:31:49

Die Prämisse Ihrer Frage ist falsch. In der Tat, Pieter sagte das Gegenteil:

X-und Y-Koordinaten sind zahlen, die modulo p, das Feld Größe, die etwa 2^256 - 2^32 für secp256k1. Der Wert r und s in der Signatur, jedoch sind modulo n, die Gruppe um, das ist um 2^256 - 2^128.

Wenn etwas trotzdem nicht verstehst du, ich würde empfehlen, das Lesen der Wikipedia-ECDSA-Artikel und SEC1, und dann zu Fragen, eine neue, klarere Frage. Es wäre schön, wenn Ihre Frage enthielt eine kurze definition jede Zahl, die Sie sprechen (wie Pieter Kommentar Tat), so können wir sicherstellen, dass wir alle reden über die gleichen Dinge.

Der Wikipedia-Artikel hat einen kurzen Abschnitt erklärt die Korrektheit des Algorithmus, und du wirst wahrscheinlich sehen, dass die Mathematik funktioniert nicht, wenn Sie versuchen, ändern Sie die Art die Signatur generiert wird.

Auch habe ich geschrieben, eine Umsetzung von ECDSA in Ruby, das sollte Recht einfach zu Lesen und zu ändern, wenn Sie möchten, um zu versuchen, Ihre Ideen.

Alternative Antwort, vorausgesetzt, man schaltet die P-und N -, die in Ihrer Frage

Wenn ich allerdings davon ausgehen, dass Sie nur versehentlich eingeschaltet P und N in deiner Frage, dann meine Antwort darauf wäre:

N definiert, die die Reihenfolge der secp256k1 Gruppe. Es ist also die Anzahl der unterschiedlichen Punkte in der Gruppe, einschließlich der infinity-Punkt. Wenn Sie eine Nummer wie die r oder s, der zwischen 0 und N - 1, es ist tatsächlich der index von einem bestimmten Punkt auf der Kurve. Es ist wie in einem privaten Schlüssel (die sind zwischen 1 und N - 1), weil Sie verwenden können, die Anzahl zu generieren secp256k1 Punkt. Die secp256k1 Gruppe ist isomorph zur Gruppe der ganzen zahlen modulo N: hinzufügen von zwei ganzen zahlen ist äquivalent zum hinzufügen Ihrer entsprechenden secp256k1 Punkte. Die Zahl 0 entspricht dem infinity-Punkt.

So, das sollte erklären, warum es nützlich sein könnte, haben die zahlen in den Algorithmus, die zwischen 0 und N - 1. Wir verwenden den modulo-operator zu konvertieren beliebige ganze zahlen in diesem Bereich.

Natürlich bedeutet dies nicht erklären, warum die r-und s insbesondere sind modulo N, aber wenn Sie arbeiten, durch die Mathematik in die "Korrektheit des Algorithmus Abschnitt" von der Wikipedia-ECDSA-Artikel würden Sie wahrscheinlich sehen, dass die Mathematik funktioniert nicht, wenn Sie die Weise ändern, die Signatur generiert wird.

+446
Maliha Ahmed 27.05.2010, 23:12:50

Auf einigen blockchains, Sie sind. Sie funktionieren einfach nicht so auf die bitcoin-blockchain. Gibt es Vorteile zu der Möglichkeit bitcoin tut es. Was ist, wenn Sie möchten, senden Sie bitcoins mehr als ein Ziel oder mehr als eine Quelle?

Auch bitcoin-Schema ist viel einfacher. Entweder eine bestimmte Transaktion Ausgang vorhanden ist und unverbraucht, oder es ist es nicht. Ein Gleichgewicht ist das Ergebnis einer sehr großen Anzahl von Transaktionen und viel komplexer zu überprüfen.

+443
Zander Zhang 29.03.2014, 13:10:47

Ein paar Monate zurück, als ich verwenden wollte getrawtransaction API-Aufruf auf jedem txid andere als meine bitcoin-core-wallet-es wäre ein Fehler zurückgegeben. Der Fehler wurde gelöst, indem txindex=1 in der conf Datei und Neustart des daemon mit -reindex-option. Jetzt, während der Lehre die Konzepte zu einer Kollegin, ich hatte gehofft, Sie würden nach der Lösung, wenn Sie konfrontiert einen ähnlichen Fehler und würde zu aktualisieren, die conf-Datei. Die API aufgerufen, zurückgegeben mit den details der Transaktion für jeden txid und es gab keine bitcoin.conf-Datei erstellt.

Hat sich die Umsetzung geändert, die mir nicht bewusst?

+415
100 Watt Walrus 24.04.2017, 04:31:56

Ich kann nicht bitcoin core wallet zu akzeptieren mein wallet-passphrase, so kann ich meine privaten Schlüssel aus. Das Passwort ist korrekt, denn ich habe es versucht zu senden, und akzeptiert es, aber wenn ich versuche auf die debug-wird es nicht. Ist es wegen der Art, wie Schreibe ich es in z.B. walletpassphase(........)600 oder ist es <...........>600 oder gibt es einen anderen Weg? Bitte helfen Sie. Es hat mit zu kommen -32601 und Parsen von JSON und syntax.

+414
Seamlyit 01.04.2019, 20:36:08

Ich habe das mining von bitcoins seit Jahren, alle, die scheinen nun Weg zu sein.

Das bitcoin-Rechner läuft mit ubuntu 10.04 LTS. Der bitcoin miner ist die version 0.3.20.2.

Die Maschine stürzte nach einem Stromausfall/spike, nach dem der blkindex.dat-Datei war korrupt, zusammen mit sehr vielen Dateisystem-Fehler (angeblich behoben-Neustart). Ich schaffte es zum laden der Geldbörse.dat-Datei auf einem Mac OSX Rechner, installiert die neueste version des bitcoin und lassen Sie es führen Sie ein update der wallet-info. Vor der Synchronisierung der Brieftasche zeigte 0 bitcoins.

Nach ~14 Stunden nach der "Synchronisierung" der Geldbeutel zeigt immer noch 0 bitcoins.

Der Suche online, es gibt ein paar Menschen, die verloren haben, Ihre bitcoins, wenn Sie ein Upgrade von einer version zur anderen.

Ich habe gebaut eine weitere Maschine mit der gleichen version von Linux und bitcoin miner installiert und alle bitcoin-Dateien AUßER der blk*.dat-Dateien. Es wird jetzt ausgeführt.

Gibt es etwas, was ich versuchen könnte?

+310
jasonex123 25.02.2011, 09:50:55

Sie können Elektron-Servern über die blockchain.Adresse.listunspent

Eine Beispiel-Implementierung: [1] , dass die Anrufe [2] (Hinweis: dies ist ein altcoin Umsetzung)

+278
hworth 23.11.2016, 18:46:09

Ich überlege mir immer in der Bergbau selbst. Und ich möchte den Vergleich der verschiedenen mining-equipments und wie viele Leute sind mit jedem der Geräte. Es scheint, wie es ist wirklich schwer zu finden die Daten auf der Markt-Anteil der mining-Industrie. Wenn jemand weiß, oder hat keine Empfehlungen für die miner wäre am besten für ernsthafte Bergarbeiter, lassen Sie es mich bitte wissen. Vielen Dank :)

+255
MattR 11.03.2015, 13:29:54

Sie können Ihre Electrum wallet, um Ihre eigenen Electrum-server für das Privatleben. Es gibt verschiedene Elektron-server-Implementierungen:

  • Elektron Persönlichen Server

    Elektron Personal Server soll es möglich machen mit Electrum bitcoin wallet sicherer und mehr privat. Es macht es einfach zu verbinden Ihre Electrum wallet, um Ihre eigenen Knoten.

  • ElectrumX - Reimplementation des electrum-server

    Eine Reimplementierung von Elektron-Server für eine Zukunft mit größeren Blöcken.

  • electrs - Electrum-Server in Rust

    Die motivation hinter diesem Projekt ist es, zu ermöglichen, einen Benutzer zur Ausführung seiner eigenen Electrum-server, mit der erforderlichen hardware-Ressourcen nicht viel über diejenigen, die einen vollen Knoten.

+248
user2826583 29.03.2019, 19:44:52

Nein. Die Durchschnittliche Zeit, die pro Bestätigung wird immer um die 10 Minuten (aber es ist möglich, dass die Varianz geringer sein wird in der Zukunft). Und die Anzahl der Bestätigungen erforderlich, um zu verhindern, dass double-spending von einem Agenten mit einer bestimmten hashrate wird sich auch nicht ändern (6 ist eine beliebige Zahl, was auf einen "niedrig genug" die Wahrscheinlichkeit, dass jemand mit einem "hoch genug" hashrate).

Was sich ändern wird ist Dienstleistungen, um die Lücke zu überbrücken. Es wird die split-Taste, eWallets, die nicht Ihr Geld zu stehlen auf der einen Seite, und können vertrauten grün-Adressen auf der anderen; und es wird Versicherungsagenten wie https://zipconf.com/ Absorption Bestätigung Risiko basierend auf Ihrem Modell der Wahrscheinlichkeiten für Doppel-Ausgaben.

+224
Diane Armitage 13.07.2012, 09:33:03

Es ist nicht die offizielle Website.

Sie können download-NRS (Nxt Reference Software), indem Sie die folgenden links aus https://nxtforum.org/nrs-releases/. Wenn Sie Vertrauen Jean-Luc dann wählen Sie einfach die Datei-Prüfsumme. Wenn nicht, dann analysieren Sie den Quellcode und kompiliert es selbst.

+154
MariHid 12.02.2017, 17:10:25

Ihre BCH wird immer noch an der gleichen Adresse Ihre BTC in waren der Gabel Datum. BCH ist eine separate Kette, also, wenn Sie senden Sie BTC-Transaktionen nicht auf die BCH-balance.

Damit sich der BCH, müssen Sie installieren einige BCH-wallet-software, und importieren Sie dann die private keys/Samen für die Adressen, finanziert wurden in der Zeit der Gabel. Sie erhalten die Schlüssel/Samen aus Ihrer BTC-wallet, aber seien Sie gewarnt: es ist sinnvoll, eine leere in Ihrem BTC-wallet bevor Sie dies tun, im Fall der BCH-software ist bösartig und versucht, auf Ihr Geld zu stehlen. (auch wenn es eine kleine chance, besser, sicher zu sein)

Die BCH-software wird in der Lage sein, die Kommunikation mit den BCH-Netzwerk, so dass Sie Zugriff auf diese Münzen.

+142
Glenn Maynard 05.11.2016, 01:37:07

Mit der Bitfinex WebSocket API, ich abonniere trades.

Die Daten, die ich erhalte sieht wie folgt aus:

 chanId msgType tradeID Zeitstempel Menge Preis
[ 139260, 'te', [ 73962571, 1507383025000, 97.628437, 0.503 ] ]
[ 139260, 'tu', [ 73962571, 1507383025000, 97.628437, 0.503 ] ]

te = Handels-Ausführung

tu = Orderausführung Update

Wie bereits von den Abkürzungen Glossar

Was ich nicht verstehe ist, dass für die gleichen tradeId bekomme ich als erstes eine te Nachricht und dann einen moment später eine tu - Nachricht. Es gibt keinen Unterschied im Inhalt dieser Nachrichten, so was ist der Zweck des tu - Nachricht?

Was ist der Unterschied zwischen einer Handels-Ausführung und eine Trade Execution Update?

+138
renqHIT 29.09.2019, 22:59:43

wer kontrolliert den Preis von BTC?

Keine einzelne person.

Wie jeder Markt, der Preis wird bestimmt durch die einzelnen Käufer und Verkäufer.

Da die meisten Käufer und Verkäufer sind Menschen, die Preis, den Sie bereit sind zu kaufen oder zu verkaufen, hängt zum Teil auf irrationale oder emotionale Faktoren in Teil getrieben von Nachrichten über verschiedene Aspekte der globalen Wirtschaft sowie news über cryptocurrencies im Allgemeinen und Neuigkeiten rund um Bitcoin-spezifisch.

Einige Käufer oder Verkäufer kann versuchen, den Markt zu manipulieren, aber, so weit ich weiß, gibt es nichts in das Bitcoin-peer-to-peer-Protokolle erleichtern würde, dass dies in irgendeiner einzigartige oder Besondere Art und Weise.


hat satoshi zum Beispiel erstellen neben dem BTC eine KI neben es, der entscheidet, seine Preise auf der Basis der blockchain Transaktionen?

Nein, soweit ich weiß.

Hinweise darauf, dass die person oder Personen hinter dem Namen Satoshi Nakamoto sind nicht mehr aktiv in der Bitcoin-Welt, sicherlich nicht in der Bitcoin-Entwicklung. Es ist natürlich möglich, dass Sie aktiv sind, unter einem anderen Namen, aber es gibt keine Möglichkeit zu sagen. Dieser Teil ist nicht zu beantworten.

So weit ich weiß, gibt es keine deutlichen Anzeichen dafür, dass die Preisschwankungen, denen in der Währung BTC-Börsen handeln in einer Weise, die im Widerspruch zu dem, was man erwarten könnte aus der Lektüre von Satoshi Nakamoto ' s whitepaper.

Ich habe gesehen, keine Beweise, dass es einen AI aktiv in der BTC-Markt, der wirkt irgendwie anders (zB. mit einem speziellen Privilegien) AI-aktive, die in anderen currecy Märkte (z.B. der USD-EUR-Markt)

So weit ich weiß, gibt es keine whitepapers oder E-Mails veröffentlicht, die von Satoshi Nakamoto, die sich auf ein AI soll zu manipulieren oder zu ermitteln Wechselkurs zwischen BTC und anderen Währung.


Fußnoten:

Dieses Q&A website ist nicht dazu bestimmt, noch geeignet für die Diskussion im Allgemeinen, es ist auch nicht geeignet, die Prüfung der Verschwörungstheorien. Es kann oder kann nicht an anderen Orten, wo diese Art von Diskussion auftreten können.

+77
user3160690 10.05.2014, 15:13:49

Fragen mit Tag anzeigen