Scroll testnet

Проходимо тестнет з потенціалом на ретродроп від проекту Scroll

Переходимо за посиланням https://scroll.io/alpha, коннектимо гаманець і додаємо мережі

post image

Для подальшого проходження нам потрібні тестові ETH

faucet 1

faucet 2

faucet 3

Свапаємо тестовий ETH із мережі Goerli Testnet у Scroll Alpha Testnet https://scroll.io/alpha/bridge

post image

Підпишемо смарт контракти scroll,токена,нфт

Переходимо на сайт і створюємо новий файл

post image

Після чого вставляємо наступний код

// SPDX-License-Identifier: MIT pragma solidity >=0.7.0 <0.9.0; contract HelloWorld {

string public message;

constructor(string memory initMessage) {

  message = initMessage;

}

function update(string memory newMessage) public { message = newMessage; } }

І нажимаємо на зелену стрілку після чого переходимо на синю стрілку

post image

Вибираємо метамаск і нажимаємо Deploy і підписуємо транзакцію

post image

Ми добавили контракт scroll тепер повторюємо ті ж самі дії але з контрактом токена і нфт

контракт токена

// SPDX-License-Identifier: MIT pragma solidity >=0.8.17;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract CryptoSoftTools is ERC20 {

constructor(string memory) ERC20("CryptoSoft Tools", "CST") {
    _mint(msg.sender, 1000000 * 10 ** decimals());
}

}

контракт нфт

// SPDX-License-Identifier: MIT pragma solidity ^0.8.17;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; import "@openzeppelin/contracts/utils/Counters.sol";

contract NFT is ERC721 { using Counters for Counters.Counter; Counters.Counter private currentTokenId;

constructor() ERC721("NFT Name", "NFT") {}

function mint(address recipient)
    public
    returns (uint256)
{
    currentTokenId.increment();
    uint256 tokenId = currentTokenId.current();
    _safeMint(recipient, tokenId);
    return tokenId;
}

}