For every lot you acquire, keep the date, amount, dollar value, how you got it, and fees. For every disposal, the date, what you received, and its dollar value. Exchanges export this as a spreadsheet; download it every year, because exchanges close, change hands, and purge old data. For wallets you control, the blockchain has the transactions but not the dollar values, so save them as you go.
Anyone with more than a handful of trades should use crypto tax software that imports from the exchanges and wallets and produces a Form 8949. We work from those reports, and we read them critically: a transfer between your own wallets that the software labeled a sale, or a missing basis it recorded as zero, can turn a modest year into an expensive one on paper.
NFTs follow the same rules. Buying one with crypto is a sale of the crypto; selling it is a sale of the NFT. An NFT that represents art or a collectible may be taxed as a collectible, at a long-term rate of up to 28%. Creators who mint and sell their own work have ordinary business income.