https://levelup.gitconnected.com/100-essential-web-3-concepts-that-one-should-know-about-cedf47b8b6a7