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

v0.8.2 - Update litecoin to v0.21.4 #574

Open
wants to merge 3 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": ["ISNOTARYNODE=1"],
}
],
"version": 4
}
41 changes: 41 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) iguana (mainnet)",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/agents/iguana",
"args": ["notary"],
"stopAtEntry": false,
"cwd": "${workspaceFolder}/iguana",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
//"preLaunchTask": "Build Iguana [debug]",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
},
{
"name": "(lldb) iguana (mainnet)",
"type": "lldb",
"request": "launch",
"program": "${workspaceFolder}/agents/iguana",
"args": ["notary"],
"cwd": "${workspaceFolder}/iguana"
}
]
}
23 changes: 23 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
// The following will hide unneeded files in the editor
"files.exclude": {
"**/*.o": true,
"**/*.a": true,
"**/*.lo": true,
"**/*.Po": true,
"**/*.Plo": true,
"**/*.la": true,
"**/*.lai": true,
},
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/*.o": true,
"**/*.a": true,
"**/*.lo": true,
"**/*.Po": true,
"**/*.Plo": true,
"**/*.la": true,
"**/*.lai": true,
}
}
20 changes: 20 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build Iguana [debug]",
"type": "shell",
"command": "make clean; make CFLAGS='-g -Wno-deprecated -O0 -DISNOTARYNODE=1' CFLAGS_NO_OPTIMIZATION='-g -Wno-deprecated -O0 -DISNOTARYNODE=1' -j$(nproc)",
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
},
"options": {
"cwd": "${workspaceFolder}/iguana/"
},
}
]
}
4 changes: 4 additions & 0 deletions doc/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 0.8.2

- Updates `litecoind` to `v0.21.4` [`beae01d`](https://github.com/litecoin-project/litecoin/commit/beae01d62292a0aab363b7a4d3f606708cea7260)

## 0.8.1

- Removes `SUPERNET`, `NINJA`
Expand Down
2 changes: 1 addition & 1 deletion doc/daemon_versions.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"KMD": "2651eaf",
"LTC": "0.16",
"LTC": "0.21.4",
"CCL": "2651eaf",
"CLC": "2651eaf",
"DOC": "2651eaf",
Expand Down
73 changes: 73 additions & 0 deletions doc/update082.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# dPoW 0.8.2 update information

### Update Litecoin Core to `v0.21.4`

The main purpose of this update is to upgrade the outdated Litecoin Core `0.16.x`, still used on notaries, to the latest version `v0.21.4`. Since a resync is required (as explained [here](https://github.com/litecoin-project/litecoin/issues/865#issuecomment-1304798606)) when updating from pre-MWEB versions, we need to prepare in advance. Specifically, build the latest `litecoind` and perform a full sync from scratch before the transition. The manual below explains how to achieve this without losing notarization counts and without stopping LTC notarizations.

#### Build latest Litecoin:

```bash
cd ~
git clone https://github.com/litecoin-project/litecoin litecoin.021
cd litecoin.021
git checkout beae01d # https://github.com/litecoin-project/litecoin/tree/v0.21.4
# apply patches from PR#990 to build dependencies with gcc-11
wget https://github.com/litecoin-project/litecoin/pull/990.diff
git apply -v 990.diff
# build as described here https://komodoplatform.com/en/docs/notary/
make -C ${PWD}/depends v=1 NO_PROTON=1 NO_QT=1 HOST=$(depends/config.guess) -j$(nproc --all)
./autogen.sh
CXXFLAGS="-g0 -O2" CONFIG_SITE="$PWD/depends/$(depends/config.guess)/share/config.site" ./configure --disable-tests --disable-bench --without-miniupnpc -enable-experimental-asm --with-gui=no --disable-bip70
make V=1 -j$(nproc --all)
```

#### Sync latest Litecoin from scratch:

```bash
mkdir -p ~/.litecoin.021
echo -e "txindex=1\nrpcport=9334\nserver=1\nlisten=0" > ~/.litecoin.021/litecoin.conf
./src/litecoind -datadir=$HOME/.litecoin.021 -daemon
tail -F ~/.litecoin.021//debug.log # sync monitoring, when it synced till 100%, stop it
./src/litecoin-cli -datadir=$HOME/.litecoin.021 stop
rm ~/.litecoin.021/litecoin.conf
```

#### Swap data folders and sources folders:

```bash
cd ~
~/litecoin/src/litecoin-cli stop && sleep 5 # stop your old daemon
cp ~/.litecoin/litecoin.conf ~/.litecoin.021 # copy .conf and wallet.dat in new folder
cp ~/.litecoin/wallet.dat ~/.litecoin.021
mv ~/.litecoin ~/.litecoin.016 # swap folders
mv ~/litecoin ~/litecoin.016
mv ~/.litecoin.021 ~/.litecoin
mv ~/litecoin.021 ~/litecoin
```

#### Start the new litecoin daemon

Start `litecoind` as usual. If you use scripts to start all daemons, modify them to include the `-daemon` argument to prevent console spam, and remove the `-pubkey` argument, as `litecoind` does not recognize it and will quit shortly instead of launching. Your daemon launch command should look like this:

```bash
~/litecoin/src/litecoind -daemon
```

### Restart Iguana

```bash
# Update dPoW repo
cd ~/dPoW
git checkout master
git pull

# Restart Iguana
pkill -9 iguana
cd iguana
./m_notary_build
./m_notary_main
```

Make sure notarisations are progressing.


2 changes: 1 addition & 1 deletion iguana/dpow/dpow_rpc.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ int32_t dpow_is015(char *symbol)
// for dpow_is015 enabled coins validateaddress call will be auto-changed on getaddressinfo, if initial validateaddress
// call will return an error, also signrawtransaction will be replaced with signrawtransactionwithwallet, also, it seems
// GAME, EMC2 and AYA shouldn't be there, bcz they don't have getaddressinfo and signrawtransactionwithwallet .
const char *dpow_015_coins[] = {"CHIPS", "AYA"};
const char *dpow_015_coins[] = {"CHIPS", "AYA", "LTC"};
for (size_t i = 0; i < sizeof(dpow_015_coins) / sizeof(dpow_015_coins[0]); i++)
{
if (0 == strcmp(dpow_015_coins[i],symbol)) return 1;
Expand Down
2 changes: 1 addition & 1 deletion iguana/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.8.1
0.8.2