Невозможно назначить эфиры на учетную запись в приватной цепочке

Я запускаю тестовую сеть со свойством init для блока генезиса. Я могу создать учетную запись, и ее работа работает нормально. Единственная проблема заключается в том, что я не могу назначить какие-либо предварительные эфиры учетной записи, что я мог сделать в предыдущей реализации флага генезиса. во время бега. Кто-нибудь может рассказать, как это сделать в этой реализации.

Ответы (2)

Да, поместите баланс, который вы хотите для адреса, в блок генезиса. Вот пример:

myGenBlock.json

  {
      "nonce": "0x0000000000000042",
      "difficulty": "0x20000",
      "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
      "coinbase": "0x0000000000000000000000000000000000000000",
      "timestamp": "0x00",
      "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
      "extraData": "",
      "gasLimit": "0x2fefd8",
      "alloc": {
        "dbdbdb2cbd23b783741e8d7fcf51e459b497e4a6": {
          "balance": "1606938044258990275541962092341162602522202993782792835301376"
        },
        "e6716f9544a56c530d868e4bfbacb172315bdead": {
          "balance": "1606938044258990275541962092341162602522202993782792835301376"
        },
        "b9c015918bdaba24b4ff057a92a3873d6eb201be": {
          "balance": "1606938044258990275541962092341162602522202993782792835301376"
        },
        "1a26338f0d905e295fccb71fa9ea849ffa12aaf4": {
          "balance": "1606938044258990275541962092341162602522202993782792835301376"
        },
        "2ef47100e0787b915105fd5e3f4ff6752079d5cb": {
          "balance": "1606938044258990275541962092341162602522202993782792835301376"
        },
        "cd2a3d9f938e13cd947ec05abc7fe734df8dd826": {
          "balance": "1606938044258990275541962092341162602522202993782792835301376"
        },
        "6c386a4b26f73c802f34673f7248bb118f97424a": {
          "balance": "1606938044258990275541962092341162602522202993782792835301376"
        },
        "e4157b34ea9615cfbde6b4fda419828124b70c78": {
          "balance": "1606938044258990275541962092341162602522202993782792835301376"
        },
        "0000000000000000000000000000000000000001": {
          "balance": "1"
        },
        "0000000000000000000000000000000000000002": {
          "balance": "1"
        },
        "0000000000000000000000000000000000000003": {
          "balance": "1"
        },
        "0000000000000000000000000000000000000004": {
          "balance": "1"
        }
      }
    }

Назначьте баланс, который вы хотите, на адрес, но сначала убедитесь, что вы сгенерировали для него закрытый ключ, иначе вы не сможете использовать баланс.

Чтобы инициализировать запуск частной тестовой сети:

mkdir myTestNet
geth --datadir myTestNet init myGenBlock.json

Затем, когда вы захотите использовать его, просто укажите geth на каталог, добавив аргументы:

--datadir myTestNet

Есть два способа получить эфир:

  • Предварительное выделение через файл генезиса
  • Добыча

Файл генезиса: это можно сделать с помощью allocполя в файле генезиса.

  • Сначала создайте файл генезиса
  • Создавайте учетные записи, используяgeth --datadir path/to/directory/ account new
  • Выделите эфир на эту учетную запись, как указано @Sebi
  • Теперь запустите узел, используя этот файл генезиса ( init), --datadirи уникальный--networkid

Добыча полезных ископаемых:

  • После запуска узла и создания учетных записей с помощью geth --datadir path/to/directory/ account newилиpersonal.newAccount("<password>").
  • Начните добычу с этого узла, используя miner.start(1)где 1 = нет. потоков майнинга
  • Теперь все это вознаграждение за майнинг будет выделено на учетную запись coinbase.
  • Затем вы можете перевести этот эфир на другие счета.