Solidity - инициализировать массив строк в структуре - PullRequest
0 голосов
/ 30 октября 2018

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

Идея состоит в том, что заказчик всегда может выбрать из множества источников энергии на домашней странице, которая затем будет развернута на смарт-контракте, если он выбрал.

Итак, каков наилучший / эффективный способ реализации этой идеи на блокчейне?

         pragma solidity ^0.4.23; /* solhint-disable */

         contract EnergyContract {


           struct EnContract {
             uint price;
             uint amount;
             string[] energysource;
             address creator;   
           }

           EnContract[] aContract;

           function createContract(uint _price, uint _amount, address _creator) public {
             aContract.length += 1;
             EnContract storage _EnContract = aContract[aContract.length - 1];

             _EnContract.price = _price;
             _EnContract.amount = _amount;
             _EnContract.creator = _creator;    
           }


         }

1 Ответ

0 голосов
/ 31 октября 2018

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

...