You must have node>=14
npm install
- to install all packagescp .env.example .env
- to copy environment template- Fill all variables as instructed
npm run test
- to test main functionality
Пояснения для проверяющего:
- На выполнение задания ушло примерно 25 часов чистого времени по таймеру
Дописан, но выявлен неустраненный баг вtask
send_nft
В связи с предыдущим пунктом не протестированtask
redeem_nft
- Все остальное, насколько я могу судить, сделано по ТЗ, в том числе, с тестами
- Хотел еще в
Docker
собрать все это, но времени уже не осталось - Мне еще не очень нравится, что таски получились полотном. Там есть что отрефакторить. Как минимум, избавиться от полотна, разбив на переиспользуемые модули, но времени уже не осталось.
UPD: Оказывается, не хватало средств для транзакции. Поставил проверку баланса. Пополнил счет и все таски отработали, как надо.
npx hardhat run --network testnet src/scripts/deploy_NFT.ts
- deploy NFT token to Binance Smart Chain Testnet
npx hardhat run --network mumbai src/scripts/deploy_NFT.ts
- deploy NFT token to Polygon Mumbai Testnet
npx hardhat run --network testnet src/scripts/deploy_bridge.ts
- deploy Bridge contract to Binance Smart Chain Testnet
npx hardhat run --network mumbai src/scripts/deploy_bridge.ts
- deploy Bridge contract to Polygon Mumbai Testnet
npx hardhat --network testnet mint_nft --amount 2
- mint 2 NFT tokens on Binance Smart Chain and send them to account[1] user
npx hardhat --network mumbai mint_nft --amount 2
- mint 2 NFT tokens on Polygon and send them to the Bridge contract
npx hardhat --network testnet send_nft --tokenid 0
- send first NFT token from account[1] to Bridge contract
npx hardhat --network mumbai redeem_nft --tokenid 0 --nonce 0
- redeem NFT token from the second blockchain for account[1]