First, I'd like to clear up the difference in terms, since definitions aren't yet standardized in quickly evolving blockchain world.
- Full nodes have a full copy of the blockchain. It takes lots of hard disk space and decent amount of CPU power to validate the contents.
- Supernodes are a subset of full nodes, that additionally are publicly connectable, listening and relaying data to other nodes. It requires even more bandwidth and CPU, since they serve any legitimate request. Also Supernode is a name of a commercial product by Ambisafe.
- Light nodes, also known as thin clients don’t download the blockchain, but only allow lightweight clients (such as mobile and web3 applications) to request information from full nodes and broadcast signed transactions, ensuring they are included in a block.
So, in case of Ethereum you would want to run Geth node with --gcmode=archive and --syncmode=full flags or Parity node with --pruning=archive flag.
In both Geth and Parity state-trie pruning is enabled by default. When you disable it by setting the pruning method to archive your node will keep all state trie data in archival, which will also keep historical transaction traces and will make the node most useful for others. It's a desired behavior, but instead of approximately 130GB of disk space you will need to allocate about 1.8TB.