Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3.0.1 #48

Merged
merged 16 commits into from
Apr 17, 2023
2 changes: 1 addition & 1 deletion contrib/macdeploy/macdeployqtplus
Original file line number Diff line number Diff line change
Expand Up @@ -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 +")
Expand Down
2 changes: 1 addition & 1 deletion contrib/seeds/nodes_main.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 2 additions & 0 deletions contrib/seeds/nodes_test.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# testnet nodes
# default
118.189.201.104:19574
118.189.201.104:19588
118.189.201.104:19598
18 changes: 9 additions & 9 deletions doc/build-osx.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 5 additions & 5 deletions doc/build-windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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:

Expand Down
4 changes: 2 additions & 2 deletions share/qt/Info.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@
<string>????</string>

<key>CFBundleExecutable</key>
<string>Litecoin-Qt</string>
<string>Ferrite-Qt</string>

<key>CFBundleName</key>
<string>Litecoin-Qt</string>
<string>Ferrite-Qt</string>

<key>LSHasLocalizedDisplayName</key>
<true/>
Expand Down
8 changes: 4 additions & 4 deletions src/bitcoin-wallet.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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] <command>\n\n" +
" ferrite-wallet [options] <command>\n\n" +
gArgs.GetHelpMessage();

tfm::format(std::cout, "%s", usage);
Expand Down
58 changes: 34 additions & 24 deletions src/chainparams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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")},
}
};

Expand Down Expand Up @@ -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;
Expand All @@ -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<unsigned char>(1,111);
Expand All @@ -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,
};
}
};
Expand Down
2 changes: 1 addition & 1 deletion src/qt/forms/receivecoinsdialog.ui
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
<item row="6" column="0">
<widget class="QLabel" name="label_3">
<property name="toolTip">
<string>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.</string>
<string>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.</string>
</property>
<property name="text">
<string>&amp;Message:</string>
Expand Down
2 changes: 1 addition & 1 deletion src/qt/forms/receiverequestdialog.ui
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
<item row="2" column="1" alignment="Qt::AlignTop">
<widget class="QLabel" name="uri_content">
<property name="text">
<string notr="true">litecoin:LTC1...</string>
<string notr="true">ferrite:FEC1...</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
Expand Down
2 changes: 1 addition & 1 deletion src/qt/macnotificationhandler.mm
Original file line number Diff line number Diff line change
Expand Up @@ -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];
}
Expand Down
2 changes: 1 addition & 1 deletion src/rpc/misc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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, "", "",
Expand Down