Генерация набора данных DAG для ethereum - PullRequest
0 голосов
/ 23 марта 2020

У меня есть chfast / etha sh [https://github.com/chfast/ethash.git] репо

========================== ==================

chfast / etha sh: вывод

[root@localhost build] # ./bin/etha sh -fakeminer

Fakeminer Benchmark

Параметры:

набор данных: полный

потоков: 12

блоков: 10

время блока: 6

размер пакета: 100

время старта: 0

Ход выполнения:

              |-----    hashrate    -----|  |-----    bandwidth   -----|

текущий период блока средний текущий ток средний

  0        0      2.80 kh/s     2.80 kh/s      0.02 GiB/s    0.02 GiB/s

  0        1      3.80 kh/s     3.30 kh/s      0.03 GiB/s    0.03 GiB/s

  0        2      4.55 kh/s     3.72 kh/s      0.04 GiB/s    0.03 GiB/s

  0        3      5.82 kh/s     4.24 kh/s      0.05 GiB/s    0.03 GiB/s

  0        4      7.70 kh/s     4.93 kh/s      0.06 GiB/s    0.04 GiB/s

  0        5     11.72 kh/s     6.06 kh/s      0.09 GiB/s    0.05 GiB/s

  0        6     27.08 kh/s     9.07 kh/s      0.21 GiB/s    0.07 GiB/s

  0        7    347.75 kh/s    51.40 kh/s      2.72 GiB/s    0.40 GiB/s

  0        8    722.35 kh/s   125.95 kh/s      5.64 GiB/s    0.98 GiB/s

  0        9    722.22 kh/s   185.58 kh/s      5.64 GiB/s    1.45 GiB/s

Резюме:

время: 60,00 с

последний хэшрейт: 722,22 kh / s

средний хэшрейт: 185,58 kh / s

последнее значение пропускной способности памяти: 5,64 ГБ / с

среднее значение пропускной способности памяти: 1,45 ГБ / с

[root@localhost сборка] #

===== =========================================

, и я пытаюсь сгенерировать даг, используя ниже python код,

====================================

import pyethash

with open("cache","rb") as fcache:

    cache = fcache.read()

//comment// Using same block 0 from benchmark code

data_size = pyethash.get_full_size(0)

print("Generating dataset (DAG) of size %d." % data_size)

dataset = pyethash.calc_dataset_bytes(data_size, cache)

with open("dataset","w+b") as fcache:

    fcache.write(dataset)

= =============================

получение пояса ау ошибки:

===================================

ошибка № 1

[root@localhost build] # python dag_file.py

Трассировка (последний последний вызов):

Файл "dag_file.py", строка 3, в

with open("cache","rb") as fcache:

IOError: [Errno 2] Нет такого файла или каталога: 'cache'

Я не уверен, но я решил это, создав файл с именем "cache", у меня есть вставил "chfast / etha sh: output" в этот файл.

после повторного запуска кода:

ошибка № 2

[root@localhost build] # python dag_file.py

Трассировка (последний последний вызов):

Файл "dag_file.py", строка 7, в

data_size = pyethash.get_full_size(0)

AttributeError: 'module' у объекта нет атрибута 'get_full_size'

модуль pyetha sh, содержит только 3 атрибута get_seedha sh, hashimoto_light, mkcache_bytes

Я уже пробовал коды в "https://github.com/ethereum/wiki/wiki/Ethash "nothis генерирует.

По умолчанию версия pyther 2.7, и я отдельно установил 3.8.2, получая ошибку в обоих.

Просьба предложить.

1 Ответ

0 голосов
/ 22 апреля 2020

Fakeminer от Chfast используется только для тестирования системы, его нельзя использовать для создания элементов DAG.

Вы можете использовать web3.py для создания DAG, см. https://github.com/ethereum/web3.py/blob/master/docs/web3.miner.rst

...