Solidity, Blockchain, and Smart Contract Course – Beginner to Expert Python Tutorial

freeCodeCamp.org · 3.7M views · 2021 · 16:22:12

Open on YouTube

Distributed systemsEducation & learningSoftware practice, open source & careerscoursedated

Why Stack Overflow recommends it

Stack Overflow users link it because many learners follow this course step by step and cite it, with timestamps, when asking about errors in Brownie, Web3.py, Ganache and Chainlink code.

Recommended by 8 people across 6 different months, 2021 to 2023.

Why Ethereum Stack Exchange recommends it

Ethereum Stack Exchange users link it as the go-to full course for learning Solidity, Brownie and Chainlink, and askers often cite it as the tutorial they are following when debugging.

Recommended by 11 people across 8 different months, 2021 to 2023.

What it is

A 16-hour freeCodeCamp course taught by Patrick Collins that takes beginners through blockchain basics, Solidity, Remix, Web3.py, Brownie, Chainlink, ERC20s, NFTs, DeFi, upgradeable contracts and a full stack DeFi app. Code, links and support forums are kept in a companion GitHub repo, and the course contents are timestamped lesson by lesson.

What people said

Recommends user3768091 · 2021-12 · Stack Overflow · on “Python os.getenv() returning None when set Windows environment variables”

Newby here. I restarted VSCode, but it still didn't work. It wasn't until I restarted VSCode, and closed the project folder, THEN re-opened it. Learning from this [this video]

Recommends dsine · 2021-12 · Stack Overflow · on “Trouble using python/brownie in WSL”

I'm trying to complete the simple collectible NFT tutorial from this freeCodeCamp video [this video] . (I'm getting stuck on the script that starts exactly where the link is timestamped to.) For those that can't open the video, I'm trying to run this brownie command: brownie run scripts/deploy_and_create.py --network rinkeby and I'm getting the following error: dsine@DESKTOP-T74SG6U:/mnt/c/Users/dylan/projects/demos/nft-demo$ brownie run scripts/deploy_and_create.py --network rinkeby Brownie v1.17.1 - Python development framework for Ethereum NftDemoProject is the active project. File "brownie/_cli/run.py", line 50, in main return_value, frame = run( File "brownie/project/scripts.py", line 53, in

Recommends keeperbruce · 2021-12 · Stack Overflow · on “Troubles when trying to build and sign a transaction with web3”

I'm watching the tutorial of freeCodeCamp.org, Solidity, Blockchain, and Smart Contract Course – Beginner to Expert Python Tutorial ( link of the video course) [this video] and I'm stucked at 04:06:47 because when I try to build a transaction and sign it, my compiler gives me back a lot of errors: INFORMAZIONI: impossibile trovare file corrispondenti ai criteri di ricerca indicati. Traceback (most recent call last): File "C:\Users\giuse\OneDrive\Desktop\Sol\web3_py_simple_storage\deploy.py", line 44, in transaction = SimpleStorage.constructor().buildTransaction( File "C:\Users\giuse\AppData\Local\Programs\Python\Python39\lib\site-packages\eth_utils\decorators.py", line 18, in _wrapper return self

Recommends Hao Huynh Nhat · 2022-01 · Ethereum Stack Exchange · on “price conversion using chainlink ETHUSD price”

No, I don't think hack3r_Om's solution works. Consider my example: The ether price in USD is 2000 dollars. So the pricefeed will give you 2000*10**8. Now if you divide the returned value by 10**8, you will get 2000. Your min_required is 50 dollars, if you convert that 50 dollars to ether by 50/2000, solidity will give you zero because it don't like decimal. Which means the require(msg.value >= min_required / _price, "NOT ENOUGH ETHER"); will never fails, because 50/2000 = 0 in solidity. My solution is, according to PatrickAlpha's tutorial [this video] , you have to multiply your min_required and the pricefeed returned value to some number before dividing, so that it will not be rounded. This is m

Recommends TejaMainHoon14 · 2022-01 · Ethereum Stack Exchange · on “Help with tokenURI (ERC-721 NFTs)”

To answer your URI question - if you want to use IPFS then you should install IPFS CLI to create a local node and upload your file to get a hash generated which you can use to create your URI. [LINK] If you want an example on how to mint an NFT using ERC721, IPFS and some basic toolchain try out this example from Patrick Collins bootcamp course free on youtube ( [this video] ). the NFT project timestamp is 09:50 .

Recommends Stanislav Svědiroh · 2022-01 · Ethereum Stack Exchange · on “Recovering a deployed contract after my computer restarted”

Look for your account address (Metamask I assume) that you used to deploy that contract on [LINK] In transactions section you will find a transaction labeled Contract creation . Click on that label and it brings you to your contract, you can find its address there. If you have the EXACT same code still on you, you can follow the steps Yash provided you with. If you don't have the same code, you're probably out of luck if you need that remix interface. Don't worry though, you're on the right track and probably will soon switch to Visual Studio Code and learn how to interface with deployed contracts manually. It'll give you MUCH more flexibility If you want to be guided on this full journey, I

Recommends Steve Carey · 2022-01 · Stack Overflow · on “Why isn't there a store button under deployed contracts on Remix IDE”

I believe that you are following this FreeCodeCamp YouTube tutorial: 'Solidity, Blockchain, and Smart Contract Course – Beginner to Expert Python Tutorial' [this video] The store button is created within the store function during the demonstration of this video. Double-check that your code is as the tutorial is producing. Here is an example store function that would produce a button within a Remix contract: uint256 favoriteNumber; function store(uint256 _favoriteNumber) public { favoriteNumber = _favoriteNumber; }

Recommends maskara · 2022-02 · Stack Overflow · on “Are Interfaces used for the sole purpose of generating ABI's in Solidity?”

I have been following Solidity, Blockchain, and Smart Contract Course – Beginner to Expert Python Tutorial ( [this video] ). At a certain point in the tutorial (around hour 9), the following line of code exists: weth=interface.IWeth(SomeAddress) tx=weth.deposit({"from":account, "value": 0.01*10**18}) My understanding is that interfaces get compiled into ABI for use by some external entity. the IWeth interface is as follows: pragma solidity ^0.4.19; /*this is the interface for the WETH contract */ interface IWeth { function allowance(address owner, address spender) external view returns (uint256 remaining); function approve(address spender, uint256 value) external returns (bool success); function

Recommends sarangkkl · 2022-03 · Ethereum Stack Exchange · on “Data location must be "memory" or "calldata" for parameter in function, but none was given”

First just have a look at my easy code so that I can explain by giving references. // SPDX-License-Identifier: MIT pragma solidity >=0.4.22 <0.9.0; contract GeoSpatialData{ struct GeoData{ uint id; address owner_address; string data_name; string data_year; string data_description; string data_img_url; string data_url; string data_category; string data_published_date; } GeoData[] public geoData; // write function function createData(string memory _data_name,address _owner_address,string _data_year,string _data_description,string _data_image_url,string _data_url,string _data_published_date ) public{ } // read all data function function readData() public{ } // read single data function function

Recommends Joseph Miyaki · 2022-03 · Ethereum Stack Exchange · on “Exception has occurred: ImportError x cannot import name 'accounts' from 'brownie'”

Setup: Windows 10 Python 3.9.0 Brownie v1.18.1 Ganache CLI v6.12.2 (ganache-core 2.13.2) I'm currently following Patrick's solidity tutorial [this video] . I'm at about 4:39:00. Here is my code and the error that is occurring: [LINK] Is there a problem with the file init .py? I've tried uninstalling and installing eth-brownie using the directions here [LINK] . However I'm still encountering this same error. For reference the code I am trying to run is the following: from brownie import accounts def deploy_simple_storage(): #account = accounts[0] #print(account) account = accounts.load("freecodecamp-account") print(account) print("Done with deploy_simple_storage()") def main(): print("Hello!") pri