Как развернуть контракт на локальном работающем узле с помощью браузера Solidity?

У меня есть локальный узел Эфириума, и я разблокировал учетную запись. Теперь я хочу использовать браузер Solidity для развертывания этого контракта, но когда я переключаюсь на вариант развертывания поставщика web3 и нажимаю кнопку «Создать» по адресу « http://localhost: 8000 », все, что я вижу, это ошибка, которая говорит: « Ошибка: учетная запись заблокирована». Я не знаю, почему и как это работает?

Также как проще всего развернуть смарт-контракт на локальном работающем узле?

Ответы (1)

Я вижу, что вы меняете Web3 Provider Endpointв браузере Solidity и обязательно разблокируете учетную запись .

Альтернативный способ — просто оставить значение по умолчанию: Javascript VM, затем:

  1. Нажмите Createи скопируйте значения в Web3 deploy.
  2. Откройте консоль Geth с разблокированной учетной записью 0.
  3. Вставьте Web3 deployзначения в консоль Geth и дождитесь завершения транзакции.

Вот Web3 deployзначения для самого простого contract Test {}и видно, что web3.eth.accounts[0]нужно разблокировать (или поменять на свой разблокированный аккаунт).

var testContract = web3.eth.contract([]);
var test = testContract.new(
   {
     from: web3.eth.accounts[0], 
     data: '6060604052600a8060106000396000f360606040526008565b00', 
     gas: 3000000
   }, function(e, contract){
    console.log(e, contract);
    if (typeof contract.address != 'undefined') {
         console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash);
    }
 })