Но "полномерный" GUI запуск приложения заканчивается так: И это уже вопрос к разработчикам блокчейной части.
EmerCoin - правка GUI клиента
Модератор: Olej
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
EmerCoin - правка GUI клиента
Борьба с новой сборкой EmerCoin (так чтобы не повредить безвозвратно старую работающую версию, на которой сейчас работает OpenNIC DNS), которая продолжалась непрерывно 6 часов , приводит к следующим итогам (без всяких промежуточных выкладок) - конспект себе на память:
1. приложения emercoin-qt (независимо от версии) после запуска само правит свой конфиг-файл ~/.config/Emercoin/Emercoin-Qt.conf
2. конфиг-файл ~/.config/Emercoin/Emercoin-Qt.conf, в принципе, допускает комментарий (недействительность) строк, ... но он правит "# " как "%23%20" (23 это действительно код '#' а 20 - ' '), эти строки не учитываются и не вредят, но переносятся в первые строки файла (что тоже неприятно)...
3. исходя из п.1, идея править конфиг-файл - плохая идея, и лучше работать с сылками.
4. аварийное завершение происходит из-за того, что приложение emercoin-qt (0.7.11), правя конфиг-файл ~/.config/Emercoin/Emercoin-Qt.conf, может вписать туда строку:
Код: Выделить всё
bPrune=true
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
EmerCoin - правка GUI клиента
5. нельзя просто копировать полный каталог кошелька предыдущей версии:
Код: Выделить всё
olej@R420:~/.config/Emercoin$ time cp -R $HOME/sdc3/emercoin2/ $HOME/sdc3/emercoin.0.8/
real 0m9,353s
user 0m0,025s
sys 0m2,452s
При этом, из-за несоответствия форматов (версий) чего-то из используемых инструментов (библиотек) создаётся новый кошелёк с новым идентификатором и полностью пустой. Это не то что нам надо
6. нужно создать новый пустой каталог кошелька, и откопировать туда только 2 файла:
Код: Выделить всё
olej@R420:~/sdc3$ ls -l emercoin.0.8
итого 372
-rw-rw-r-- 1 olej olej 40 фев 27 12:23 emercoin.conf
-rw------- 1 olej olej 376832 мар 31 01:01 wallet.dat
И тогда оно стартует нормально:
Код: Выделить всё
olej@R420:~/2023/EmerCoin/emercoin/src/qt$ ./emercoin-qt
libpng warning: iCCP: known incorrect sRGB profile
...
Код: Выделить всё
olej@R420:~/sdc3$ ls -l emercoin.0.8
итого 41792
-rw------- 1 olej olej 37 мар 31 01:15 banlist.dat
drwx------ 3 olej olej 4096 мар 31 01:16 blocks
drwx------ 2 olej olej 4096 мар 31 01:15 chainstate
drwx------ 2 olej olej 4096 мар 31 01:15 database
-rw------- 1 olej olej 0 мар 31 01:15 db.log
-rw------- 1 olej olej 41982966 мар 31 01:32 debug.log
-rw-rw-r-- 1 olej olej 40 фев 27 12:23 emercoin.conf
-rw------- 1 olej olej 6 мар 31 01:15 emercoin.pid
drwx------ 4 olej olej 4096 мар 31 01:15 indexes
-rw------- 1 olej olej 26008 мар 31 01:30 peers.dat
-rw------- 1 olej olej 749568 мар 31 01:15 wallet.dat
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
EmerCoin - правка GUI клиента
7. Но старт начинается с пустых баз данных, и с закачки из сети содержимого всего биткоина:
Код: Выделить всё
olej@R420:~/.config/Emercoin$ date
Пт 31 мар 2023 01:16:05 EEST
Код: Выделить всё
olej@R420:~/sdc3$ date
Пт 31 мар 2023 01:33:43 EEST
olej@R420:~/sdc3$ du -hs emercoin.0.8
196M emercoin.0.8
Код: Выделить всё
olej@R420:~/sdc3$ du -hs emercoin.0.8
993M emercoin.0.8
olej@R420:~/sdc3$ date
Пт 31 мар 2023 02:25:47 EEST
И это не зависит от скорости вашего Интернет канала
Это уже всё тот же существующий кошелёк в новой версии 0.8.0
- Вложения
-
- Снимок экрана от 2023-03-31 02-22-26.png (63.58 КБ) 515 просмотров
-
- Снимок экрана от 2023-03-31 02-21-20.png (73.8 КБ) 515 просмотров
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
EmerCoin - правка GUI клиента
Проверка показала, что:
- из-за несовместимостей форматов данных версий 0.7 и 0.8 + опасности (потери критических данных) запуска клиента не со "своей" версией + необходимостью запусков (поочерёдно) версий как стабле 0.7, так и девелоперской 0.8 (работа предполагает сравнение) - возвращаюсь к версии с ссылками
- сам конфигурационный файл теперь для запусков общий для 2-х случаев, с возвратом имени каталога данных к дефаултному значению (вообще говоря, имя может быть произвольным), критически важная строка теперь неизменная и выглядит так:
Код: Выделить всё
olej@R420:~/.config/Emercoin$ grep strDataDir ~/.config/Emercoin/Emercoin-Qt.conf
strDataDir=/home/olej/.emercoin
- для соответствия версии Qt клиента версии его данных (чтобы не держать в голове и не вспоминать каждый раз - один неверный запуск может разрушить экземпляр данных) - делаю скрипт-файл для запуска каждой версии...
- для версии 0.7:
Код: Выделить всё
olej@R420:~/2023/EmerCoin$ cat start.0.7
LINK=~/.emercoin
rm -f --one-file-system $LINK
ln -s /mnt/sdc3/emercoin.0.7 $LINK
./emercoin-v0.7.11emc-shared/emercoin-qt
rm -f --one-file-system $LINK
Код: Выделить всё
olej@R420:~/2023/EmerCoin$ cat start.0.8
LINK=~/.emercoin
rm -f --one-file-system $LINK
ln -s /mnt/sdc3/emercoin.0.8 $LINK
./emercoin/src/qt/emercoin-qt
rm -f --one-file-system $LINK
Структура (диска) данных теперь такая:
Код: Выделить всё
olej@R420:~/sdc3$ mount | grep sdc3
/dev/sdc3 on /mnt/sdc3 type ext4 (rw,nosuid,nodev,noexec,relatime,user)
Код: Выделить всё
olej@R420:~/sdc3$ pwd
/home/olej/sdc3
olej@R420:~/sdc3$ ls -ld emercoin.0.*
drwxrwxr-x 7 olej olej 4096 апр 1 15:40 emercoin.0.7
drwxrwxr-x 5 olej olej 4096 апр 1 15:33 emercoin.0.8
Код: Выделить всё
olej@R420:~/sdc3$ du -hs emercoin.0.*
1,1G emercoin.0.7
1016M emercoin.0.8
Код: Выделить всё
olej@R420:~/sdc3$ ls -ld ~/sdc3/emercoin.0.*
drwxrwxr-x 7 olej olej 4096 апр 1 15:40 /home/olej/sdc3/emercoin.0.7
drwxrwxr-x 5 olej olej 4096 апр 1 15:33 /home/olej/sdc3/emercoin.0.8
Код: Выделить всё
olej@R420:~/sdc3$ ls -ld /mnt/sdc3/emercoin.0.*
drwxrwxr-x 7 olej olej 4096 апр 1 15:40 /mnt/sdc3/emercoin.0.7
drwxrwxr-x 5 olej olej 4096 апр 1 15:33 /mnt/sdc3/emercoin.0.8
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
EmerCoin - правка GUI клиента
Вот только теперь можно переходить к сверке и правке в QtCreator форм.
Вот все они формы, в клонированном GIT каталоге, используемые приложением в Qt:
Код: Выделить всё
olej@R420:~/2023/EmerCoin/emercoin$ ls src/qt/forms/*.ui
src/qt/forms/addressbookpage.ui src/qt/forms/editaddressdialog.ui src/qt/forms/openuridialog.ui src/qt/forms/sendcoinsdialog.ui
src/qt/forms/askpassphrasedialog.ui src/qt/forms/helpmessagedialog.ui src/qt/forms/optionsdialog.ui src/qt/forms/sendcoinsentry.ui
src/qt/forms/coincontroldialog.ui src/qt/forms/intro.ui src/qt/forms/overviewpage.ui src/qt/forms/signverifymessagedialog.ui
src/qt/forms/createwalletdialog.ui src/qt/forms/managenamespage.ui src/qt/forms/receivecoinsdialog.ui src/qt/forms/transactiondescdialog.ui
src/qt/forms/debugwindow.ui src/qt/forms/modaloverlay.ui src/qt/forms/receiverequestdialog.ui
И вот файл той самой злополучной формы, с которой нужно накчать приведение в соответствие:
Код: Выделить всё
olej@R420:~/2023/EmerCoin/emercoin$ ls -l src/qt/forms/sendcoinsentry.ui
-rw-rw-r-- 1 olej olej 42771 мар 29 15:36 src/qt/forms/sendcoinsentry.ui
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
EmerCoin - правка GUI клиента
- Вложения
-
- Снимок экрана от 2023-04-02 13-58-49.png (115.15 КБ) 496 просмотров
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
EmerCoin - правка GUI клиента
Для того, чтобы make пересобирал приложение при изменении .ui файлов форм, по зависимостям, пришлось переконфигурировать сборку (убрать опцию --disable-dependency-tracking):
Код: Выделить всё
olej@R420:~/2023/EmerCoin/emercoin$ ./configure --disable-tests --disable-util-tx --disable-gui-tests --enable-bip70 --disable-hardening --disable-debug
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
...
Код: Выделить всё
olej@R420:~/2023/EmerCoin/emercoin$ make -j
Making all in src
make[1]: вход в каталог «/home/olej/2023/EmerCoin/emercoin/src»
make[2]: вход в каталог «/home/olej/2023/EmerCoin/emercoin/src»
make[3]: вход в каталог «/home/olej/2023/EmerCoin/emercoin»
make[3]: выход из каталога «/home/olej/2023/EmerCoin/emercoin»
GEN qt/forms/ui_sendcoinsentry.h
GEN qt/bitcoinamountfield.moc
GEN qt/overviewpage.moc
GEN qt/intro.moc
GEN qt/rpcconsole.moc
GEN qt/qrc_bitcoin.cpp
CXX qt/libbitcoinqt_a-bitcoinamountfield.o
CXX qt/libbitcoinqt_a-intro.o
CXX qt/libbitcoinqt_a-rpcconsole.o
CXX qt/libbitcoinqt_a-overviewpage.o
CXX qt/libbitcoinqt_a-sendcoinsentry.o
CXX qt/libbitcoinqt_a-qrc_bitcoin.o
qt/sendcoinsentry.cpp: In member function ‘void SendCoinsEntry::on_requestPaymentButton_clicked()’:
qt/sendcoinsentry.cpp:421:61: warning: ‘QVariant qVariantFromValue(const T&) [with T = void*]’ is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations]
421 | ui->exchComboBox->addItem(qsEntry, qVariantFromValue((void *) p.second.first));
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QVariant:1,
from ./qt/forms/ui_sendcoinsentry.h:12,
from qt/sendcoinsentry.cpp:10:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:530:17: note: declared here
530 | inline QVariant qVariantFromValue(const T &t)
| ^~~~~~~~~~~~~~~~~
AR qt/libbitcoinqt.a
CXXLD qt/emercoin-qt
make[2]: выход из каталога «/home/olej/2023/EmerCoin/emercoin/src»
make[1]: выход из каталога «/home/olej/2023/EmerCoin/emercoin/src»
Making all in doc/man
make[1]: вход в каталог «/home/olej/2023/EmerCoin/emercoin/doc/man»
make[1]: Цель «all» не требует выполнения команд.
make[1]: выход из каталога «/home/olej/2023/EmerCoin/emercoin/doc/man»
make[1]: вход в каталог «/home/olej/2023/EmerCoin/emercoin»
make[1]: Цель «all-am» не требует выполнения команд.
make[1]: выход из каталога «/home/olej/2023/EmerCoin/emercoin»
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
EmerCoin - правка GUI клиента
После достаточно долгих и нудных визуальных правок ("это не моё" ) формы в "Дизайн" QtCreator, она (форма) приняла такой вид: Запуск:
Код: Выделить всё
olej@R420:~/2023/EmerCoin$ ./start.0.8
запуск клиента ./emercoin/src/qt/emercoin-qt
libpng warning: iCCP: known incorrect sRGB profile
...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей