January 18, 2023

Fuel Deploy Smart Contract

Все действия выполнялись через workspace на сайте gitpod.

Выполняем каждую команду отдельно:

  • curl --proto '=https' --tlsv1.2 -sSf \
    https://fuellabs.github.io/fuelup/fuelup-init.sh | sh
  • export PATH="${HOME}/.fuelup/bin:${PATH}"
  • fuelup toolchain install beta-2
  • fuelup default beta-2
  • mkdir fuel-project
  • cd fuel-project
  • forc new counter-contract

открывае файл main.sw, находящийся по пути fuel-project/src

contract;

storage {
    counter: u64 = 0,
}

abi Counter {
    #[storage(read, write)]
    fn increment();

    #[storage(read)]
    fn count() -> u64;
}

impl Counter for Contract {
    #[storage(read)]
    fn count() -> u64 {
        storage.counter
    }

    #[storage(read, write)]
    fn increment() {
        storage.counter = storage.counter + 1;
    }
}

  • fuelup component add forc-wallet
  • cd counter-contract
  • forc build
  • forc-wallet init

Придумываем пароль и сохраняем мнемоник

  • forc-wallet new

Пишем пароль

Копируем адрес кошелька и идем в кран за тестовыми токенами

  • forc deploy --url node-beta-2.fuel.network/graphql --gas-price 1

Вставляем адрес кошелька (который ранее сохранили), жмем Enter, получаем Tx id to sign

Далее, не закрывая текущий терминал, открываем еще один

  • cd fuel-project
  • cd counter-contract
  • export PATH="${HOME}/.fuelup/bin:${PATH}"
  • forc wallet sign "Tx id to sign из первого окна" 0

Копируем сигнатуру, возвращаемся в первый терминал и вставляем ее там

Копируем Tx id to sign подставляем 0x в начале идем в эксплорер и радуемся запущеному контракту.