How to launch a simple NFT on BSC?

Hi all,

I have a very straightforward usecase: I want to launch an art NFT. I have about 6 years of Javascript experience and using truffle is going quite well.

The ERC721PresetMinterPauserAutoId ‘template’ seems to do exactly what I need:

  • mint tokens from a main account and send them to other addresses
  • point to a url that holds a work of art

Now I have the following assumptions that I would like to put to question:

  • I can simply deploy ERC721PresetMinterPauserAutoId to the Binance SmartChain after running a few basic manual tests on a local network
  • it will ‘act’ exactly the same on BSC as on the ETH network because the two networks are fundamentally the same
  • ERC721PresetMinterPauserAutoId is a tried and tested contract, so given that I wont deviate at at all from it’s origiinal contract code it should be safe to use and deploy to BSC after very basic testing

Could anybody tell me if these assumptions are correct?

Best regards and thanks in advance

1 Like

Hi @DutchJSDev,

Welcome to the community :wave:

I assume there shouldn't be any issues. You could try the following to the testnet of Binance Smart chain: Create an NFT and deploy to a public testnet, using Truffle

BSC is EVM compatible, so Solidity contracts can be deployed to BSC.
Please note, the consensus mechanism is different between Ethereum and BSC, so how they are secured is fundamentally different.

OpenZeppelin Contracts is community-vetted code.


Please note OpenZeppelin Contracts 4.0 is coming (Contracts 4.0 Timeline), so depending on your roadmap you may want to use 4.0.


For admin accounts (Minter, Pauser etc) best practice is to use a multisig: https://docs.openzeppelin.com/learn/preparing-for-mainnet#admin-accounts

I would also suggest looking at OpenZeppelin Defender (which supports BSC): https://openzeppelin.com/defender/

@abcoathup
I have been wanting to reply to this sooner but let me start off by saying: wow, thanks for elaborating and taking the time, I really appreciate it. Also, are there any examples of open source ERC721PresetMinterPauserAutoId contracts of OpenZeppelin’s that allows for setting recurring fees for the original seller of an NFT?

1 Like

Hi @DutchJSDev,

There isn’t an example of fee on transfer for an ERC721.
I just use existing marketplaces which provide creators a small cut of secondary sales e.g. OpenSea.

I am not sure what marketplaces exist for BSC.

Does anyone know if the image.metadata of ERC721 is displayed in metamask? I refer exclusively to the nft image because I am testing in bsc tesnet and metamask does not show me the nft image, I am currently working with ERC721 for minteos. I am testing in rinkeby and there it shows me the images correctly. I have not tested in BSC mainnet. Someone who has deployed an ERC71 in bsc mainnet and tell me if the nft image is shown in metamask?