Pages:
Author

Topic: ---TTC->TDC--- - page 18. (Read 28095 times)

legendary
Activity: 3486
Merit: 1100
March 19, 2018, 12:52:09 PM
А какие параметры сервера должны быть, что бы установить ноду?
Самые минимальные, главное что бы блокчейн влез.

Нода работает на бесплатном 12-ти месячном инстансе - Ubuntu Server 16.04 LTS (HVM),EBS General Purpose (SSD) Volume Type. Support available from Canonical (http://www.ubuntu.com/cloud/services).

t2.micro (Variable ECUs, 1 vCPUs, 2.5 GHz, Intel Xeon Family, 1 GiB memory, EBS only)




Скачал отсюда клиент для windows https://github.com/neiros/---TTC---/releases/tag/v0.8.217.4
Распаковал, запустил, кошель нормально открылся, а сихронизация не начинается, пишет "No block source available"
Для начала синхронизации нужно что то прописать?
Если нет синхронизации, в консоли нужно ввести:

addnode 90.188.88.19 add

Консоль находится здесь: Help -> Debug windows -> Console
newbie
Activity: 13
Merit: 0
March 19, 2018, 12:39:43 PM
Скачал отсюда клиент для windows https://github.com/neiros/---TTC---/releases/tag/v0.8.217.4
Распаковал, запустил, кошель нормально открылся, а сихронизация не начинается, пишет "No block source available"
Для начала синхронизации нужно что то прописать?
newbie
Activity: 13
Merit: 0
March 19, 2018, 12:20:24 PM

Запустил амазоновскую ноду - 52.14.204.148

Собрать клиент там не получилось - памяти не хватило, а залитый бинарик очень даже не плохо работает.
А какие параметры сервера должны быть, что бы установить ноду?
legendary
Activity: 3486
Merit: 1100
March 19, 2018, 12:00:32 PM

Запустил амазоновскую ноду - 52.14.204.148

Собрать клиент там не получилось - памяти не хватило, а залитый бинарик очень даже не плохо работает.
legendary
Activity: 3486
Merit: 1100
March 19, 2018, 12:00:17 AM
А что за переменная len в строке:
 sph_blake256(&ctx_blake, input, len);

Взял с гитхаба.

Это длина в байтах. Функция считает хеши для блоков и транзакций.
Для блока начальная длина 80, для транзакции 32.
jr. member
Activity: 202
Merit: 8
March 18, 2018, 02:20:04 PM
Quote
//void lyra2re_hash(const char* input, char* output)
//{
//    sph_blake256_context     ctx_blake;
//    sph_groestl256_context   ctx_groestl;
//    sph_keccak256_context    ctx_keccak;
//    sph_skein256_context     ctx_skein;

//    uint32_t hashA[8], hashB[8];

//    sph_blake256_init(&ctx_blake);
//    sph_blake256 (&ctx_blake, input, 80);
//    sph_blake256_close (&ctx_blake, hashA);
   
//    sph_keccak256_init(&ctx_keccak);
//    sph_keccak256 (&ctx_keccak,hashA, 32);
//    sph_keccak256_close(&ctx_keccak, hashB);
   
//   LYRA2_old(hashA, 32, hashB, 32, hashB, 32, 1, 8, 8 );
   
//   sph_skein256_init(&ctx_skein);
//    sph_skein256 (&ctx_skein, hashA, 32);
//    sph_skein256_close(&ctx_skein, hashB);

//    sph_groestl256_init(&ctx_groestl);
//    sph_groestl256 (&ctx_groestl, hashB, 32);
//    sph_groestl256_close(&ctx_groestl, hashA);

//   memcpy(output, hashA, 32);
//}


void lyra2re2_hash(const char* input, char* output)
{
    sph_blake256_context ctx_blake;
    sph_cubehash256_context ctx_cubehash;
    sph_keccak256_context ctx_keccak;
    sph_skein256_context ctx_skein;
    sph_groestl256_context ctx_groestl;
    sph_bmw256_context ctx_bmw;

    uint32_t hashA[8], hashB[8];

    sph_blake256_init(&ctx_blake);
    sph_blake256(&ctx_blake, input, 80);
    sph_blake256_close (&ctx_blake, hashA);

    sph_keccak256_init(&ctx_keccak);
    sph_keccak256(&ctx_keccak, hashA, 32);
    sph_keccak256_close(&ctx_keccak, hashB);

    sph_cubehash256_init(&ctx_cubehash);
    sph_cubehash256(&ctx_cubehash, hashB, 32);
    sph_cubehash256_close(&ctx_cubehash, hashA);

    LYRA2(hashB, 32, hashA, 32, hashA, 32, 1, 5, 6);
//    LYRA2(hashB, 32, hashA, 32, hashA, 32, 1, 4, 4);

    sph_skein256_init(&ctx_skein);
    sph_skein256(&ctx_skein, hashB, 32);
    sph_skein256_close(&ctx_skein, hashA);

    sph_groestl256_init(&ctx_groestl);
    sph_groestl256 (&ctx_groestl, hashA, 32);
    sph_groestl256_close(&ctx_groestl, hashB);

//    sph_cubehash256_init(&ctx_cubehash);
//    sph_cubehash256(&ctx_cubehash, hashA, 32);
//    sph_cubehash256_close(&ctx_cubehash, hashB);

    sph_bmw256_init(&ctx_bmw);
    sph_bmw256(&ctx_bmw, hashB, 32);
    sph_bmw256_close(&ctx_bmw, hashA);

    memcpy(output, hashA, 32);
}

Алгоритм хеширования чего-то мне захотелось сделать таким.
Заменил второй cubehash256 на groestl256, что был в первоначальном варианте. Чего добру пропадать.
Заодно немного параметры в LYRA2 поменял.

Есть у кого-нибудь возражения на счёт таких изменений?

А что за переменная len в строке:
 sph_blake256(&ctx_blake, input, len);

Взял с гитхаба.
legendary
Activity: 3486
Merit: 1100
March 15, 2018, 02:43:28 AM

Определения терминов и описание - http://ss-iqr.blogspot.ru/2018/03/ttc.html

Ориентировочные планы по дальнейшей работе - http://ss-iqrw.blogspot.ru/
legendary
Activity: 3486
Merit: 1100
February 23, 2018, 07:18:39 AM

Решил текущую проблему таким образом  - https://github.com/neiros/---TTC---/commit/8d955ed8cd5e70b1703c93b30ba469bbbabc7b50
Не более MIN_FEE_PART_CHAIN уходит выходу коинбазовой транзакции блока.


Добавил ещё одну RPC функцию: getblocktarget - https://github.com/neiros/---TTC---/commit/5c5a07da7693a50457a6631d1e9c8b6d4dba70d4
Code:
18:10:25  getblocktarget 000078813027ce8c83ac53e7d651c96a30c10737b3860f81865167fdd00e3a5d

18:10:26  {
           "block " : "000078813027ce8c83ac53e7d651c96a30c10737b3860f81865167fdd00e3a5d",
           "target" : "0000adbedb24cd9f7769b639515a6360257f70cbb160aa859093decec1f28017",
           "old tar" : "0000002cd2130000000000000000000000000000000000000000000000000000",
           "total tx" : 10046,
           "CDFtrdt" : 0.99993818,
           "CDFsize" : 1.00000000,
           "backlash" : 999,
           "decrease ~ %" : 0.99899233,
           "maxBigNum" : 115792089237316195423570985008687907853269984665640564039457584007913129639936.00000000,
           "divideTarget" : 95825736.00000000,
           "- sumTrDif -" : 884449876.00000000
           }
Показывает работу алгоритма изменения сложности - https://bitcointalksearch.org/topic/m.25067261 (snowfox = 1.05)


26823 блок - http://90.188.88.19:3001/api/getblock?hash=000078813027ce8c83ac53e7d651c96a30c10737b3860f81865167fdd00e3a5d
Размер ~ 2,25 мегабайт.
Cодержит 10046 транзакций. (для Iquidus Explorer такое количество неподъёмное, несколько часов он этот блок индексировал)


Я не стал дальше наращивать количество транзакций до 5 мегабайт. Уже очевидно, что всё вполне нормально функционирует, если не учитывать некоторые тормоза из-за такого большого блока. Но что бы проверить более досконально, нужно в рабочей сети генерировать каждые 5 минут по 10000-20000 транзакций в течение 2-4 недель. Это примерно 288 * 15000 * 30 ~ 130 миллионов транзакций в месяц, что больше количества всех транзакций всех криптовалют, существующих на сегодняшний день(нереально Grin)

Генерация некоего разового количества в текущих условиях требует довольно серьёзных вычислительных затрат(почти пол дня на 10000 транзакций у меня ушло, но можно конечно и быстрее) и это количество транзакций моментально размажется на очень большое количество мелких блоков из-за значительного уменьшения их сложности.


Новый релиз - https://github.com/neiros/---TTC---/releases/tag/v0.8.217.4
newbie
Activity: 63
Merit: 0
February 18, 2018, 03:19:11 PM
У меня две машинки слабенькие не отключаясь копают. Интересно в орфанах уже или нет, давно не заглядывал.
legendary
Activity: 3486
Merit: 1100
February 18, 2018, 07:27:08 AM
когда патч будет ?

На следующей неделе скорее всего.

Очень не кстати эта проблемка всплыла. Из-за других левых дел "пара часов" на неделю растянулась. Но оно и к лучшему. За это время не спеша сгенерировал блок с 10000 транзакциями, пощупал, посмотрел что да как. На рабочей сети такого не получилось бы сделать, однозначно.

Завтра-послезавтра приеду домой, доделаю кое-чего и всё опять дальше заработает.
legendary
Activity: 2294
Merit: 1047
February 16, 2018, 07:14:47 AM
что с нодами ?

понял.
когда патч будет ?
legendary
Activity: 3486
Merit: 1100
February 11, 2018, 01:05:37 AM

Проявилась ещё одна ошибка. Майнинг из-за этого невозможен.

Code:
...
CreateNewBlock(): total size 1000
ERROR: CheckTransaction() : vout empty
ERROR: CheckBlock() : CheckTransaction failed
...
Code:
...
CBlock(hash=2fd6197b461c2ed00192f2e2b394d76d0a688669f64539ca3d9d11ea747dd226, ver=2, hashPrevBlock=00000010f28c0c5774cfb59cc2fda5fe08ce6cafbf18d8ca3058aaf679bc74d7, hashMerkleRoot=0000000000000000000000000000000000000000000000000000000000000000, nTime=1518290114, nBits=1d2cd213, nNonce=0, vtx=2)
  CTransaction(hash=1fd00ebc725efe45cf8e5ee2e767095c3ae55cd36762f1d0ca24453b443a0da9, ver=1, vin.size=1, vout.size=2, tBlock=0, nLockTime=0)
    CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, 4294967295), coinbase 0000)
    CTxOut(nValue=148.65014985, scriptPubKey=03ab002067e03c11b58f833b02f351)
    CTxOut(nValue=1.34985015, scriptPubKey=03c1210be41ebaf80c1a9ad023bc0b)
  CTransaction(hash=937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f, ver=1, vin.size=5, vout.size=0, tBlock=26820, nLockTime=0)
    CTxIn(COutPoint(d29b1f7114aa2a19d6f97a08adaac45923b6f27f7fcf19f28288ab74ca7f33f7, 1), scriptSig=0 0)
    CTxIn(COutPoint(21b12bf8d01d35e00101753fc8d99badcefb52bb85a039e66c580dcb3456fde8, 0), scriptSig=0 0)
    CTxIn(COutPoint(604594a734e1bd3ae68a5f97b2b191548accba025b82c4c3333608c7a0f333fb, 0), scriptSig=0 0)
    CTxIn(COutPoint(02596bc8a9a3bdb85f11219e4a124660188ae1da8a43a9a4e92eaa63637aa6cb, 0), scriptSig=0 0)
    CTxIn(COutPoint(22c8d0766bdf5176971b73e56a974c414904ae1364d918f6be8111c27e6ccdf5, 1), scriptSig=0 0)
  vMerkleTree:
Running TTC-Miner with 2 transactions in block (465 bytes)
...
Code:
10:35:25  getrawtransaction 937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f 1

10:35:25  {
"hex" : "0100000005f7337fca74ab8882f219cf7f7ff2b62359c4aaad087af9d6192aaa14711f9bd201000000020000ffffffffe8fd5634cb0d586ce639a085bb52fbcead9bd9c83f750101e0351dd0f82bb12100000000020000fffffffffb33f3a0c7083633c3c4825b02bacc8a5491b1b2975f8ae63abde134a794456000000000020000ffffffffcba67a6363aa2ee9a4a9438adae18a186046124a9e21115fb8bda3a9c86b590200000000020000fffffffff5cd6c7ec21181bef618d96413ae0449414c976ae5731b977651df6b76d0c82201000000020000ffffffff00c468000000000000",
"txid" : "937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f",
"version" : 1,
"locktime" : 0,
"tBlock" : 26820,
"vin" : [
{
"txid" : "d29b1f7114aa2a19d6f97a08adaac45923b6f27f7fcf19f28288ab74ca7f33f7",
"vout" : 1,
"scriptSig" : {
"asm" : "0 0",
"hex" : "0000"
},
"sequence" : 4294967295
},
{
"txid" : "21b12bf8d01d35e00101753fc8d99badcefb52bb85a039e66c580dcb3456fde8",
"vout" : 0,
"scriptSig" : {
"asm" : "0 0",
"hex" : "0000"
},
"sequence" : 4294967295
},
{
"txid" : "604594a734e1bd3ae68a5f97b2b191548accba025b82c4c3333608c7a0f333fb",
"vout" : 0,
"scriptSig" : {
"asm" : "0 0",
"hex" : "0000"
},
"sequence" : 4294967295
},
{
"txid" : "02596bc8a9a3bdb85f11219e4a124660188ae1da8a43a9a4e92eaa63637aa6cb",
"vout" : 0,
"scriptSig" : {
"asm" : "0 0",
"hex" : "0000"
},
"sequence" : 4294967295
},
{
"txid" : "22c8d0766bdf5176971b73e56a974c414904ae1364d918f6be8111c27e6ccdf5",
"vout" : 1,
"scriptSig" : {
"asm" : "0 0",
"hex" : "0000"
},
"sequence" : 4294967295
}
],
"vout" : [
],
"blockhash" : "00000010a32f5f65502d5040ae60f5fc87c9f544579f35378bb8468ece27f77e",
"confirmations" : 10,
"time" : 1518292567,
"blocktime" : 1518292567
}

CTransaction(hash=937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f, ver=1, vin.size=5, vout.size=0, tBlock=26820, nLockTime=0)

Механизм переноса транзакций создал транзакцию только с одними инами, без аутов - https://github.com/neiros/---TTC---/blob/TTC-all-Lyra2REv2/src/miner.cpp#L355
Такая транзакция стала невалидной - https://github.com/neiros/---TTC---/blob/TTC-all-Lyra2REv2/src/main.cpp#L709


Решается эта проблема двумя направлениями: либо убирается проверка отсутствующих выходов, либо добавляется хотя бы один выход.
Первый вариант мне не очень нравится. Он легитимизирует такого рода половинчатые транзакции. Это в дальнейшем вносит ещё один момент неопределённости. Второй более предпочтителен, но нужно определиться что, кому, куда и сколько отправить.
legendary
Activity: 3486
Merit: 1100
February 10, 2018, 02:16:10 AM

Слабенькие компы без орфанов копают неделями, запустил в качестве эксперимента на постоянку.
Как проверить принимают или нет другие блоки без понятия.
Если копают, значит принимают.
newbie
Activity: 63
Merit: 0
February 10, 2018, 01:59:20 AM
Слабенькие компы без орфанов копают неделями, запустил в качестве эксперимента на постоянку.
Как проверить принимают или нет другие блоки без понятия.
legendary
Activity: 2422
Merit: 2166
February 10, 2018, 01:10:23 AM
Да, при более длительном прогоне на двух машинах тоже ушли в орфан даже на одном потоке.
Виндовая нода вообще принимает-то смайненные блоки от других нод?
newbie
Activity: 63
Merit: 0
February 08, 2018, 05:43:02 PM
Да, при более длительном прогоне на двух машинах тоже ушли в орфан даже на одном потоке.
legendary
Activity: 1848
Merit: 1014
February 08, 2018, 06:58:05 AM
Проблема осталась там же где и была. И это проблема только win-сборок.

проверено, продолжает уходить в орфан-ветку
legendary
Activity: 3486
Merit: 1100
February 08, 2018, 02:03:21 AM
В новой версии пока не замечено орфанов веток при майнинге в виндовом кошельке в 1 или 4 потока. Погоняю несколько дней на разных машинках. Похоже проблема ушла. neiros молодец!
Проблема осталась там же где и была. И это проблема только win-сборок. В убунте всё работает идеально.
Пытался использовать новые версии всяких библиотек и т.п., что при сборке используются, но то в одном месте какие-то левые ошибки выскакивают, то в другом вылазят. Слишком много нужно перетряхивать непонятного методом тыка и плясками с бубном. Времени на это много тратится...

В какой то мере проще будет мигрировать в 0.9 или 0.10 версию биткоина, где процесс сборки под разные системы вроде бы немного более настроен и автоматизирован, чем постоянно попадать в ситуацию барана, что смотрит на очередные новые ворота. Но в любом случае баран никуда не денется. Grin


5MB блоки как понимаю не существенно меняют код. Будет ли перезапуск блокчейна?
5MB блоки установлены изначально - https://github.com/neiros/---TTC---/blob/TTC-all-Lyra2REv2/src/main.h#L51
Перезапуск исключен.
Но возможен с том случае, если возникнут какие-либо ошибки, которые можно будет исправить только методом перезапуска.


Какое количество монет теоретически может быть смайнено, или ограничения нет? Так и не понял из статьи.
Теоретически пользователи сами решают сколько им монет нужно.


Так же что подразумевается под комиссией второго и последующего переноса, перенос в новый блокчейн при выработке старого блокчейна?
Блокчейн один и тот же. Только не потраченные выходы множества транзакций из старых блоков переносятся в новые блоки одной транзакцией. Старые блоки становятся ненужными. Они кроме истории сделок больше не несут никакой ценности - можно их удалять или "сдавать в утиль или музей"
newbie
Activity: 63
Merit: 0
February 07, 2018, 05:13:33 PM
В новой версии пока не замечено орфанов веток при майнинге в виндовом кошельке в 1 или 4 потока. Погоняю несколько дней на разных машинках. Похоже проблема ушла. neiros молодец!
5MB блоки как понимаю не существенно меняют код. Будет ли перезапуск блокчейна?
Какое количество монет теоретически может быть смайнено, или ограничения нет? Так и не понял из статьи.
Так же что подразумевается под комиссией второго и последующего переноса, перенос в новый блокчейн при выработке старого блокчейна?
legendary
Activity: 3486
Merit: 1100
February 07, 2018, 11:49:56 AM
Предлагаю вынести в первое сообщение
Дельное предложение. Есть над чем подумать.

TTC ПисеЦ - Самостоятельная криптовалюта не является форком чего бы то ни было.
Не совсем верно. По формальным признакам это форк биткоина с относительно минимальными изменениями.
Но с другой стороны эти изменения совершенно не сопоставимы по своей сути при сравнении со всеми другими классическими форками.
TTC скорее генезисная криптовалюта, определяющая новый тренд - направление в возможном дальнейшем развитии криптовалют. Фундаментальная в каком то смысле.


Алгоритм хеширования - Lyra2REv2 - CPU ориентированный.
На данный момент можно так сказать, но с большой натяжкой.
Как только в каком-нибудь майнере появится этот модифицированный алгоритм(а это можно сделать хоть "завтра"), эффективность CPU резко упадёт. Ему останется майнить только исходящие транзакции.
Но даже эту работу в некоторых случаях можно будет довольно легко переложить на видеокарту, хотя эта возможность, если и будет востребована, то очень и очень не скоро.


Описание на Русском http://ss-iqr.blogspot.ru/2017/09/ttc.html
Это описание немного уже потеряло свою актуальность.
Как показало время, надо будет написать более простое и понятное для большинства.


Последняя версия https://github.com/neiros/---TTC---/releases/

ноды
Code:
addnode 90.188.88.19
addnode 212.119.171.26
addnode 176.97.38.130

Блокэксплореры
http://90.188.88.19:3001/ (этот будет работать "постоянно")
http://90.188.88.19:2001/ (этот "периодически")
Пока добавил это.
Pages:
Jump to: