1) Если у NFT коллекции baseURL общий, то нет необходимости хранить URL для каждого токена отдельно, т.к. его можно получить по формуле: baseURL/${TOKEN_ID}. В нашем случае, базовый URL был общий, поэтому это был самый оптимальный вариант.
2) Нам было очень важно торговаться на бирже opensea, у них есть документация, в каком формате должны быть аттрибуты.
3) Нужно выполнить верификацию на ehterscan, например с помощью hardhat достаточно запустить скрипт npx hardhat verify --network mainnet YOU_CONTRACT_ID
4) Нужно реализовать OpenZeppelin ERC721Burnable
5) Да, именно так и делают большинство NFT проектов
6) Сумма перемещается на адрес смарт-контракта, перевести на свой кошелек может только владелец смарт-контракта. Или например можно создать метод в смарт-контракте, который будет переводить равные суммы всем основателям.
function withdrawAll() public payable onlyOwner {
uint256 _each = address(this).balance / 2;
require(payable(developer).send(_each));
require(payable(ceo).send(_each));
}
Некоторое время назад, у меня было хобби проходиться по всем новым NFT проектам и смотреть, кто какие технологии использует, в т.ч. код смарт-контрактов, где хостят контент, итд...
В этой статья я не хотел рассказывать, что такое gRPC, protobuf и для чего они нужны, вместо этого я хотел сосредоточится на технической части.
Такой подход не всегда удобен, например если сборка происходит в пайплайне CI/CD, тогда придется устанавливать зависимости и golang.
1) Если у NFT коллекции baseURL общий, то нет необходимости хранить URL для каждого токена отдельно, т.к. его можно получить по формуле: baseURL/${TOKEN_ID}. В нашем случае, базовый URL был общий, поэтому это был самый оптимальный вариант.
2) Нам было очень важно торговаться на бирже opensea, у них есть документация, в каком формате должны быть аттрибуты.
3) Нужно выполнить верификацию на ehterscan, например с помощью hardhat достаточно запустить скрипт npx hardhat verify --network mainnet YOU_CONTRACT_ID
4) Нужно реализовать OpenZeppelin ERC721Burnable
5) Да, именно так и делают большинство NFT проектов
6) Сумма перемещается на адрес смарт-контракта, перевести на свой кошелек может только владелец смарт-контракта. Или например можно создать метод в смарт-контракте, который будет переводить равные суммы всем основателям.
candy-machine - отличный инструмент, но когда мы начинали свой проект, данного инструмента еше не было.
Некоторое время назад, у меня было хобби проходиться по всем новым NFT проектам и смотреть, кто какие технологии использует, в т.ч. код смарт-контрактов, где хостят контент, итд...