Я разветвил источник BlackCoin, изменил порты, сгенерировал блок генезиса, merkle, бла-бла-бла. Я установил узел на сервере DigitalOcean и скомпилировал демон монеты там, а также на моей локальной машине. Два монетных демона распознают друг друга, я поместил addnode в файл conf, а также добавил rpcuser, rpcpassword и rpcport в каждый файл conf.
Моя программа coin-qt на моей локальной машине распознает, что у нее есть 1 подключение к сети, но по какой-то причине не прекращает синхронизацию, даже несмотря на то, что был создан только блок генезиса. Все равно пишет рассинхрон. Демон моего сервера все еще синхронизируется.
Когда я вызываю getwork, они оба возвращают значения. Вот что возвращается:
{
"midstate" : "79f67436791f93f3eadc9926a8578baddfe15eebe894a6a59ba11fdfb889cef3",
"data" : "00000006edc7bd4e9e7c221bfcc052f25c28c6483d77e1c04ddce735d5a04ba000000ff977168febeac231c7109f85dc43cd9461b7763f9057bb3983622ff0986885b7d9539a6a001e0fffff00000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000",
"hash1" : "00000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010000",
"target" : "000000000000000000000000000000000000000000000000000000ffff0f0000"
}
Если я попытаюсь вызвать майнера и указать ему либо на локальный кошелек, либо на ноду, вот так:
./minerd --url=http://127.0.0.1:14632 -u user -p password
или
./minerd --url={My Node IP}:14632 -u username -p mypassword
мне выдает ошибку!
Конкретно:
для локального клиента:
Unrecognized block version: 6
json_rpc_call failed, retry after 30 seconds
и узел:
HTTP request failed; connect() timed out!
json_rpc_call failed, retry after 30 seconds
Есть идеи? Я очень близок и хотел бы понять это!
РЕДАКТИРОВАТЬ. Я зашел в main.h и изменил значение static const int CURRENT_VERSION
с 6 на 1. Похоже, это решило проблему json. Что касается сервера, я просто забыл открыть порт rpc, а не только порт.
Однако моя клиентская программа *coin-qt постоянно говорит «не синхронизировано» и просто говорит «догоняю». скачал 0 блоков истории транзакций. последний блок был 2 дня назад. Это блок генезиса.
Поскольку BlackCoin использует стандартный алгоритм шифрования, я думаю, майнер сможет добывать эту монету. Кажется, это работает хорошо, но я получаю все «боос» при майнинге.
Это вывод на моем ноутбуке:
@crypto:~$ minerd -a scrypt --url=http://{{node ip}}:14632 -u user -p {{somepass}} --coinbase-addr={{address}} [2014-06-13 12:43:11]
[2014-06-13 12:43:11] Binding thread 0 to cpu 0
[2014-06-13 12:43:11] 2 miner threads started, using 'scrypt' algorithm.
[2014-06-13 12:43:11] Binding thread 1 to cpu 1
[2014-06-13 12:43:12] thread 0: 4104 hashes, 4.76 khash/s
[2014-06-13 12:43:12] thread 1: 4104 hashes, 4.52 khash/s
...
[2014-06-13 12:45:58] thread 1: 756 hashes, 4.60 khash/s
[2014-06-13 12:45:58] accepted: 0/1 (0.00%), 9.33 khash/s (booooo)
[2014-06-13 12:46:02] thread 1: 18408 hashes, 4.71 khash/s
Я не понимаю, почему он ничего не принимает. Эта монета использует scrypt, как и BlackCoin. Есть идеи?
Хотя он довольно старый, я подумал, что должен хотя бы поделиться своими знаниями об этом - хотя он показывает «0» блоков истории транзакций и постоянно заявляет, что он догоняет, однако он актуален - в зависимости от обстоятельств. Во-первых, вам нужно открыть «checkpoints.cpp» и удалить все контрольные точки в файле (они будут где-то в первых 20 строках, это говорит само за себя), и создать одну контрольную точку в 0 с хешем генезисного блока — контрольно-пропускной пункт блока генезиса. После того, как вы это сделаете, пересоберите оба клиента, подключите их и вместо использования майнера (или его эквивалента) вместо этого используйте «setgenerate» через консоль как минимум для 1 блока. После этого 1 блока вы сможете использовать майнерд (или эквивалент). Надеюсь, это поможет вам
Мэтью Дарнелл
Мэтью Дарнелл
Мэтью Дарнелл