Beginners question Re: Solidity compiler versions & OpenZeppelin contracts

Hi all,

Noob here, so be kind :slight_smile:

I'm following a smart contract development course, from freeCodeCamp, and I have a theoretical question, related to openzeppelin-contracts@4.3.2

If I have the following code:

pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
contract SimpleCollectible is ERC721 {
// do stuff here

...and I want to revert back to an older version that runs with:

pragma solidity ^0.6.0;

Which version of openzeppelin-contracts@x.y.z do I need to use?

i.e. is there a mapping that takes you from:
openzeppelin-contracts@ --> pragma solidity

Thanks in advance for any help offered, I'm still learning this stuff.


The 3.x release line of OpenZeppelin Contracts worked with Solidity 0.6.

However, this is definitely not recommended. What makes you want to use an older compiler?