Как построить сеть и учетную запись на стороне клиента

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

Я кратко объясню свой проект. После собрания команды или покупки материалов приложение будет использоваться для распознавания выданных квитанций и развертывания их в цепочке блоков с использованием смарт-контракта Etherium. Я использую сервер centOS10 и базу данных maria. Я хочу создать смарт-контракт в частной сети с надежностью браузера, используя платформу Remix.

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

Ответы (1)

В последней версии web3.py есть метод, вызываемый createв accountмодуле.

w3.eth.account.create()

Возвращает:

  • объект с закрытым ключом и удобными методами

Пример:

>>> from web3.auto import w3
>>> acct = w3.eth.account.create('KEYSMASH FJAFJKLDSKF7JKFDJ 1530')
>>> acct.address
'0x5ce9454909639D2D17A3F753ce7d93fa0b9aB12E'
>>> acct.privateKey
b"\xb2\\}\xb3\x1f\xee\xd9\x12''\xbf\t9\xdcv\x9a\x96VK-\xe4\xc4rm\x03[6\xec\xf1\xe5\xb3d"

В JavaScript API web3.js v1.0 есть метод, вызываемый createв accountмодуле.

web3.eth.accounts.create();

Возвращает:

Объект — объект учетной записи со следующей структурой:

  • address- строка: адрес учетной записи.
  • privateKey- строка: закрытый ключ аккаунта.
  • signTransaction(tx [, callback])- Функция: Функция для подписи транзакций.
  • sign(data)- Функция: Функция для подписи транзакций.

Пример возвращаемого объекта:

{
    address: "0xb8CE9ab6943e0eCED004cDe8e3bBed6568B2Fa01",
    privateKey: "0x348ce564d427a3311b6536bbcff9390d69395b06ed6c486954e971d960fe8709",
    signTransaction: function(tx){...},
    sign: function(data){...},
    encrypt: function(password){...}
}
Спасибо за ваш комментарий :) Я очень ценю. Но могу я спросить еще кое о чем? Я хочу знать, как сделать частную сеть в той же ситуации.
В Geth&tools есть инструмент Pupeth. Это помогает создать собственный файл генезиса. После создания файла генезиса вам нужно будет только найти, как запустить сеть из консоли geth. Об этом есть много хороших статей.
@HyunjiSong рад помочь. Поскольку вы новичок на сайтах StackExchange, пожалуйста, прочитайте: Что мне делать, когда кто-то ответит на мой вопрос?