diff --git a/contrib/macdeploy/macdeployqtplus b/contrib/macdeploy/macdeployqtplus index e6247ae3..eacdca42 100644 --- a/contrib/macdeploy/macdeployqtplus +++ b/contrib/macdeploy/macdeployqtplus @@ -639,7 +639,7 @@ else: # ------------------------------------------------ -target = os.path.join("dist", "Litecoin-Qt.app") +target = os.path.join("dist", "Ferrite-Qt.app") if verbose >= 2: print("+ Copying source bundle +") diff --git a/contrib/seeds/nodes_main.txt b/contrib/seeds/nodes_main.txt index c3ff5282..b1c1f02f 100644 --- a/contrib/seeds/nodes_main.txt +++ b/contrib/seeds/nodes_main.txt @@ -40,4 +40,4 @@ 198.37.120.37:46172 207.244.234.35:44708 207.244.234.35:9574 -217.155.79.221:53978 +217.155.79.221:53978 \ No newline at end of file diff --git a/contrib/seeds/nodes_test.txt b/contrib/seeds/nodes_test.txt index 692172d6..2a31605e 100644 --- a/contrib/seeds/nodes_test.txt +++ b/contrib/seeds/nodes_test.txt @@ -1,3 +1,5 @@ +# testnet nodes +# default 118.189.201.104:19574 118.189.201.104:19588 118.189.201.104:19598 diff --git a/doc/build-osx.md b/doc/build-osx.md index 1ee8108d..2352f0fa 100644 --- a/doc/build-osx.md +++ b/doc/build-osx.md @@ -103,30 +103,30 @@ In this case there is no dependency on [*Berkeley DB*](#berkeley-db) and [*SQLit Mining is also possible in disable-wallet mode using the `getblocktemplate` RPC call. ## Running -Litecoin Core is now available at `./src/litecoind` +Ferrite Core is now available at `./src/ferrited` Before running, you may create an empty configuration file: ```shell -mkdir -p "/Users/${USER}/Library/Application Support/Litecoin" +mkdir -p "/Users/${USER}/Library/Application Support/Ferrite" -touch "/Users/${USER}/Library/Application Support/Litecoin/litecoin.conf" +touch "/Users/${USER}/Library/Application Support/Ferrite/ferrite.conf" -chmod 600 "/Users/${USER}/Library/Application Support/Litecoin/litecoin.conf" +chmod 600 "/Users/${USER}/Library/Application Support/Ferrite/ferrite.conf" ``` -The first time you run litecoind, it will start downloading the blockchain. This process could +The first time you run ferrited, it will start downloading the blockchain. This process could take many hours, or even days on slower than average systems. You can monitor the download process by looking at the debug.log file: ```shell -tail -f $HOME/Library/Application\ Support/Litecoin/debug.log +tail -f $HOME/Library/Application\ Support/Ferrite/debug.log ``` ## Other commands: ```shell -./src/litecoind -daemon # Starts the litecoin daemon. -./src/litecoin-cli --help # Outputs a list of command-line options. -./src/litecoin-cli help # Outputs a list of RPC commands when the daemon is running. +./src/ferrited -daemon # Starts the litecoin daemon. +./src/ferrite-cli --help # Outputs a list of command-line options. +./src/ferrite-cli help # Outputs a list of RPC commands when the daemon is running. ``` ## Notes diff --git a/doc/build-windows.md b/doc/build-windows.md index 5e666c0d..6e214102 100644 --- a/doc/build-windows.md +++ b/doc/build-windows.md @@ -6,7 +6,7 @@ Below are some notes on how to build Ferrite Core for Windows. The options known to work for building Ferrite Core on Windows are: * On Linux, using the [Mingw-w64](https://mingw-w64.org/doku.php) cross compiler tool chain. Ubuntu Bionic 18.04 is required -and is the platform used to build the Litecoin Core Windows release binaries. +and is the platform used to build the Ferrite Core Windows release binaries. * On Windows, using [Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/windows/wsl/about) and the Mingw-w64 cross compiler tool chain. * On Windows, using a native compiler tool chain such as [Visual Studio](https://www.visualstudio.com). See [README.md](/build_msvc/README.md). @@ -108,8 +108,8 @@ sudo apt install ./libfmt-dev_9.1.0+ds1-2_amd64.deb Build using: - sudo chmod +x -R ferrite-core-main - cd ferrite-core-main + sudo chmod +x -R ferrite-main + cd ferrite-main PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g') # strip out problematic Windows %PATH% imported var sudo bash -c "echo 0 > /proc/sys/fs/binfmt_misc/status" # Disable WSL (Windows Subsystem for Linux) support for Win32 applications. cd depends @@ -144,9 +144,9 @@ Installation After building using the Windows subsystem it can be useful to copy the compiled executables to a directory on the Windows drive in the same directory structure as they appear in the release `.zip` archive. This can be done in the following -way. This will install to `c:\workspace\litecoin`, for example: +way. This will install to `c:\workspace\ferrite`, for example: - make install DESTDIR=/mnt/c/workspace/litecoin + make install DESTDIR=/mnt/c/workspace/ferrite You can also create an installer using: diff --git a/share/qt/Info.plist.in b/share/qt/Info.plist.in index ada9a7e9..d18857bc 100644 --- a/share/qt/Info.plist.in +++ b/share/qt/Info.plist.in @@ -29,10 +29,10 @@ ???? CFBundleExecutable - Litecoin-Qt + Ferrite-Qt CFBundleName - Litecoin-Qt + Ferrite-Qt LSHasLocalizedDisplayName diff --git a/src/bitcoin-wallet.cpp b/src/bitcoin-wallet.cpp index fdfdcebc..2c7622ec 100644 --- a/src/bitcoin-wallet.cpp +++ b/src/bitcoin-wallet.cpp @@ -43,12 +43,12 @@ static bool WalletAppInit(int argc, char* argv[]) return false; } if (argc < 2 || HelpRequested(gArgs)) { - std::string usage = strprintf("%s litecoin-wallet version", PACKAGE_NAME) + " " + FormatFullVersion() + "\n\n" + - "litecoin-wallet is an offline tool for creating and interacting with " PACKAGE_NAME " wallet files.\n" + - "By default litecoin-wallet will act on wallets in the default mainnet wallet directory in the datadir.\n" + + std::string usage = strprintf("%s ferrite-wallet version", PACKAGE_NAME) + " " + FormatFullVersion() + "\n\n" + + "ferrite-wallet is an offline tool for creating and interacting with " PACKAGE_NAME " wallet files.\n" + + "By default ferrite-wallet will act on wallets in the default mainnet wallet directory in the datadir.\n" + "To change the target wallet, use the -datadir, -wallet and -testnet/-regtest arguments.\n\n" + "Usage:\n" + - " litecoin-wallet [options] \n\n" + + " ferrite-wallet [options] \n\n" + gArgs.GetHelpMessage(); tfm::format(std::cout, "%s", usage); diff --git a/src/chainparams.cpp b/src/chainparams.cpp index c13eebb5..0c60b2f0 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -155,6 +155,7 @@ class CMainParams : public CChainParams { vSeeds.emplace_back("node2.ferritecoin.org"); // node2.ferritecoin.org vSeeds.emplace_back("node3.ferritecoin.org"); // node3.ferritecoin.org vSeeds.emplace_back("node4.ferritecoin.org"); // node4.ferritecoin.org + // Pool seednodes vSeeds.emplace_back("188.165.227.178"); // spools.online vSeeds.emplace_back("207.244.243.35"); // luckydogpool.com @@ -181,18 +182,18 @@ class CMainParams : public CChainParams { checkpointData = { { - { 0, uint256S("0x46ca17415c18e43f5292034ebf9bbd10de80a61fc6dc17180e6609f33d3b48f3")}, - { 1, uint256S("0xc57e131b5a4e037b0ae4f6479464861b55bad6cdc934becd82fd78aa943cb731")}, - { 10, uint256S("0xc11ad445b0d130cf4c76fca76c26fd58d08a0be1993206d1fabdf84da4032ee5")}, - { 16, uint256S("0x85b9d245dc36364e19729250c5dcaa1019941833b4146cb5576d99d028208e48")}, - { 45, uint256S("0x6f89572fd7463f191d90f3a9c47e2e4e6ca6222480ca55f3ba596ce56ee25690")}, - { 101, uint256S("0xbc4383276f530a020085cc2ac9283050e6f681a9164aa9bc3fd2d0e7276b7621")}, - { 578, uint256S("0x0ac60bc57de1e70e9246e43dac68b2e03bb07d8572decce24eb12ba37648cdf8")}, - { 4072, uint256S("0x209f38181db9771939a131651b650451a319566d010a6f82c553b357f42aa6b0")}, - { 10000, uint256S("0xf5da0fabe25733a186805366c0fdede73e2454e782083676e7627b8ec991ef9b")}, - { 30000, uint256S("0x64ddec3dde1a4fd6c41d06aacfc27694cfc9c3094574ae83fe51ef4740956a95")}, - { 60000, uint256S("0xf38b639a8db731e7dac96eaae8f9ab443eaf85039433197345a72e1961d7f286")}, - { 100000, uint256S("0x022dc4410add84d46359013d45df952493c53343304296a9066fc3df03dc8297")}, + { 0, uint256S("0x46ca17415c18e43f5292034ebf9bbd10de80a61fc6dc17180e6609f33d3b48f3")}, + { 1, uint256S("0xc57e131b5a4e037b0ae4f6479464861b55bad6cdc934becd82fd78aa943cb731")}, + { 10, uint256S("0xc11ad445b0d130cf4c76fca76c26fd58d08a0be1993206d1fabdf84da4032ee5")}, + { 16, uint256S("0x85b9d245dc36364e19729250c5dcaa1019941833b4146cb5576d99d028208e48")}, + { 45, uint256S("0x6f89572fd7463f191d90f3a9c47e2e4e6ca6222480ca55f3ba596ce56ee25690")}, + { 101, uint256S("0xbc4383276f530a020085cc2ac9283050e6f681a9164aa9bc3fd2d0e7276b7621")}, + { 578, uint256S("0x0ac60bc57de1e70e9246e43dac68b2e03bb07d8572decce24eb12ba37648cdf8")}, + { 4072, uint256S("0x209f38181db9771939a131651b650451a319566d010a6f82c553b357f42aa6b0")}, + { 10000, uint256S("0xf5da0fabe25733a186805366c0fdede73e2454e782083676e7627b8ec991ef9b")}, + { 30000, uint256S("0x64ddec3dde1a4fd6c41d06aacfc27694cfc9c3094574ae83fe51ef4740956a95")}, + { 60000, uint256S("0xf38b639a8db731e7dac96eaae8f9ab443eaf85039433197345a72e1961d7f286")}, + { 100000, uint256S("0x022dc4410add84d46359013d45df952493c53343304296a9066fc3df03dc8297")}, } }; @@ -242,11 +243,13 @@ class CTestNetParams : public CChainParams { // Deployment of MWEB (LIP-0002, LIP-0003, and LIP-0004) consensus.vDeployments[Consensus::DEPLOYMENT_MWEB].bit = 4; - consensus.vDeployments[Consensus::DEPLOYMENT_MWEB].nStartHeight = 30; - consensus.vDeployments[Consensus::DEPLOYMENT_MWEB].nTimeoutHeight = 40; - - consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000000000000000200020"); - consensus.defaultAssumeValid = uint256S("0x7a9f43d6e86eefa66e2b79918b2235c9362106f3d9f11f37f7a33450ceae73c1"); + consensus.vDeployments[Consensus::DEPLOYMENT_MWEB].nStartHeight = 160; + consensus.vDeployments[Consensus::DEPLOYMENT_MWEB].nTimeoutHeight = 99999999; + + + consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000000000000000019a894b"); + // 26 904907 (26.9 MH) hashes of work since block 250. (testnet) + consensus.defaultAssumeValid = uint256S("0xd710251db07b4b5ad58ff59edcda83642af83e757fdf791424cf9d85e977bd65"); pchMessageStart[0] = 0xba; pchMessageStart[1] = 0x76; @@ -265,9 +268,9 @@ class CTestNetParams : public CChainParams { vFixedSeeds.clear(); vSeeds.clear(); // nodes with support for servicebits filtering should be at the top - vSeeds.emplace_back("node1.ferritecoin.org"); // node1.ferritecoin.org - vSeeds.emplace_back("node2.ferritecoin.org"); // node1.ferritecoin.org - vSeeds.emplace_back("node3.ferritecoin.org"); // node1.ferritecoin.org + vSeeds.emplace_back("test1.ferritecoin.org"); // node1.ferritecoin.org + vSeeds.emplace_back("test2.ferritecoin.org"); // node1.ferritecoin.org + vSeeds.emplace_back("test3.ferritecoin.org"); // node1.ferritecoin.org base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,111); @@ -289,15 +292,22 @@ class CTestNetParams : public CChainParams { checkpointData = { { - {0, uint256S("7a9f43d6e86eefa66e2b79918b2235c9362106f3d9f11f37f7a33450ceae73c1")}, + { 0, uint256S("0x7a9f43d6e86eefa66e2b79918b2235c9362106f3d9f11f37f7a33450ceae73c1")}, + { 1, uint256S("0x9fe0eff34a1501c47e476c66d9cdca3133aebf3b1d8e2db13be04525f39301aa")}, + { 10, uint256S("0x269cc5bc0f63df93ca6e65a6d39ab4450dcbba5c6f9069bcfe141071e42171b0")}, // taproot compatible + { 20, uint256S("0xc57940588a334cecf9bbaa1434892c074a6c532ea52c1b0adf9b1a55c07372ff")}, // taproot mandatory + { 28, uint256S("0xdb2b80687bd0d731e052b2e1370f36409fdbfd1b1852b4e66d2f30df1f3d684e")}, // DarkGravityWave v3 hardfork + { 100, uint256S("0x6e423dcbe5e9f98776f856cf54eafc00d65f42f4c4718cd6caaf9cd45711c129")}, + { 160, uint256S("0xbf82199c7f3985ebd673372a328e6a1cf409c46d18c505e0fc2536f6c51ac885")}, // MWEB compatible + { 250, uint256S("0xd710251db07b4b5ad58ff59edcda83642af83e757fdf791424cf9d85e977bd65")}, } }; chainTxData = ChainTxData{ // Data from RPC: getchaintxstats 4096 36d8ad003bac090cf7bf4e24fbe1d319554c8933b9314188d6096ac12648764d - /* nTime */ 1607986972, - /* nTxCount */ 4229067, - /* dTxRate */ 0.06527021772939347, + /* nTime */ 1681409764, + /* nTxCount */ 334, + /* dTxRate */ 0.00382938753883577, }; } }; diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui index 98ee1653..c5b45b8f 100644 --- a/src/qt/forms/receivecoinsdialog.ui +++ b/src/qt/forms/receivecoinsdialog.ui @@ -47,7 +47,7 @@ - An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Litecoin network. + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Ferrite network. &Message: diff --git a/src/qt/forms/receiverequestdialog.ui b/src/qt/forms/receiverequestdialog.ui index 1f2880e2..3fac4a92 100644 --- a/src/qt/forms/receiverequestdialog.ui +++ b/src/qt/forms/receiverequestdialog.ui @@ -65,7 +65,7 @@ - litecoin:LTC1... + ferrite:FEC1... Qt::RichText diff --git a/src/qt/macnotificationhandler.mm b/src/qt/macnotificationhandler.mm index 2b305fcb..c34fc213 100644 --- a/src/qt/macnotificationhandler.mm +++ b/src/qt/macnotificationhandler.mm @@ -13,7 +13,7 @@ @implementation NSBundle(returnCorrectIdentifier) - (NSString *)__bundleIdentifier { if (self == [NSBundle mainBundle]) { - return @"org.litecoin.Litecoin-Qt"; + return @"org.ferrite.Ferrite-Qt"; } else { return [self __bundleIdentifier]; } diff --git a/src/rpc/misc.cpp b/src/rpc/misc.cpp index 16de0355..fffa3eb6 100644 --- a/src/rpc/misc.cpp +++ b/src/rpc/misc.cpp @@ -34,7 +34,7 @@ static RPCHelpMan validateaddress() return RPCHelpMan{"validateaddress", "\nReturn information about the given ferrite address.\n", { - {"address", RPCArg::Type::STR, RPCArg::Optional::NO, "The litecoin address to validate"}, + {"address", RPCArg::Type::STR, RPCArg::Optional::NO, "The ferrite address to validate"}, }, RPCResult{ RPCResult::Type::OBJ, "", "",