In ERC721 and ERC20, we write our smart contract, but in solana, we are only using cli or the javascript to deploy the existing written program (smart contract).
Can we write our own program in solana, if yes how and does this support the platforms like opensea ?