Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deployment Tools #4

Open
AddressXception opened this issue Apr 20, 2022 · 0 comments
Open

Deployment Tools #4

AddressXception opened this issue Apr 20, 2022 · 0 comments

Comments

@AddressXception
Copy link
Member

Ethereum Node Provider

recommended: https://www.alchemy.com/

When we wish to deploy our contract to the blockchain, or when we want to programmatically interact with a contract that is already deployed, we have to connect to an Ethereum node that can broadcast our transactions ot the network, or we have to host one ourselves.

It currently takes about 3 days to synchronize the Ethereum mainnet on a local computer, so we are going to take a shortcut and just use a node provider.

The two biggest providers are Infura and Alchemy. Infura is fine, but Alchemy has much better dashboards and tooling so we'll use that. Both are free for small projects so sign up at alchemy.com for an account.

After you sign up for alchemy, you'll need to make an app that is on Ethereum and pointed at the rinkeby network. Once you create the app in Alchemy, make note of the connection strings and put them in a .env file for now. We'll use them later when we deploy.

IPFS Node Provider

recommended: https://www.pinata.cloud/

Our NFT's are really just hyperlinks to jpeg images. Let that sink in as you consider that some of these things sell for multiple hundreds of thousands or even millions of dollars ;-)

What makes this "provinant" is the fact that most of the images are stored on decentralized networks lik IPFS. You can think of IPFS like a bittorrent filesystem. When you add a file to IPFS (which can be done on the command line but i don't recommend it) the IPFS protocol creates a hash of the file and that hash becomes the URI of the file. That means that if even one bit changes in the file then it will have a completely different hash and this a completely different address. This also means that if someone downloads the file themselves, and then uploads it again somewhere else, they are just providing more "peers" and replicating the file since its hash can't be changed.

Similarly to the Eth Node, we do not want to run our own IPFS infrastructure so we will use a service called Pinata that provides this infrastructure for us (they also have a free tier). Sign up for a Pinata account. We will primarily use their web interface for interacting with pinata.

Block Explorer

recommended: https://etherscan.io/

In order to see what's happening on the blockchain we need to use a block explorer. Etherscan is by far the best one out there but there are others. Etherscan has a cool feature that allows a developer to publish their smart contract code directly to their site, which is useful for building trust among potential buyers. We'll get into Etherscan more in later parts of this course. Sign up for an Etherscan account and create an API key and make note of the API key in your .env file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant