Solidity
dentropydaemon-wiki/Software/Catagories/Language/Language - Programming * * Solidity 0.6.x Features: Inheritance | by Elena Gesheva | Better Programming
Useful Resources
- https://docs.ethers.io/v5/api/other/assembly/api/
 - Introduction · GitBook
 - bkrem/awesome-solidity: ⟠ A curated list of awesome Solidity resources, libraries, tools and more
 
Useful Tools
TODO
- Randomness | solidity-patterns
 - Is it possible to get the transaction hash from within a Solidity function call? - Ethereum Stack Exchange
 - dentropydaemon-wiki/Software/List/Ethereum/Events
 - konstantinfickel/sact: Tool for calculating hash collisions of the Solidity Contract Interface.
 - wiki.software.Programming Language.Solidity.tests
 - GitHub - webaverse/contracts: Webaverse contracts
 - 
@Dev and stuff in contracts
 - solidity - Can I save structs in a Mapping? - Ethereum Stack Exchange
 - solidity-linked-list - npm
 
Sections
Tutorials
- gakonst/solidity-book: The Senior Solidity Engineer's Book is a resource meant to transform you into a Senior Solidity Engineer.
 - Smart Contract Engineer
 - Solidity by Example | 0.8.3
 - Solidity by Example — Solidity 0.5.3 documentation
 - smartcontractkit/full-blockchain-solidity-course-py: Ultimate Solidity, Blockchain, and Smart Contract - Beginner to Expert Full Course | Python Edition
 - gnosis/solidity-data-structures: A collection of basic data structures implemented in solidity
 
Examples
- bkrem/awesome-solidity: ⟠ A curated list of awesome Solidity resources, libraries, tools and more
 - PavanAnanthSharma/Merkle-Tree-Example: This has the basic solidity code, where you can verify and test Merkle proof with Merkle Tree and root hash
 - theta-nft-demo/nft.sol at main · thetatoken/theta-nft-demo
 
Contract Factories
- Solidity, create contract from contract - Ethereum Stack Exchange
 - solidity - get address of new contract from contract factory - Ethereum Stack Exchange
 
Variables
- Solidity Override
 - solidity - Can't override ERC20 Methods - Ethereum Stack Exchange
 - Proper Solidity Constructor Syntax
 - solidity - Can't override ERC20 Methods - Ethereum Stack Exchange
 - Types, Strings
 - Strings - Ethereum Blockchain Developer Guide
 - Type Bytes
 - Reading bytes from a JavaScript string - Stack Overflow
 - casting - Converting byte array to string in javascript - Stack Overflow
 - how to convert a string containing utf8 hex codes to a javascript string - Stack Overflow
 - Javascript Convert String to Byte Array
 - https://docs.ethers.io/v5/api/utils/bytes/
 - ethersjs · GitHub Topics
 
Getter Contract
Data Structures
Variables
Structs
Arrays
Mappings
Integrating Data Structures
- solidity - Can I save structs in a Mapping? - Ethereum Stack Exchange
 - solidity - get array.length without a getter from other contract? - Ethereum Stack Exchange
 - contract development - Returning Structs and Lists in Solidity - Ethereum Stack Exchange
 - solidity - How can I return struct when function is called? - Ethereum Stack Exchange
 - Mappings + Arrays in Solidity Explained | by Kseniya Lifanova | Upstate Interactive | Medium
 
Important Solidity Functions
Errors in solidity
Calling other contracts
- contract design - Difference between CALL, CALLCODE and DELEGATECALL - Ethereum Stack Exchange
 - solidity - Call function on another contract - Ethereum Stack Exchange
 - solidity - Executing contract function from another contract using it's hash - Ethereum Stack Exchange
 - Chapter 7: Smart Contracts and Solidity · GitBook
 - Executing functions on other contracts with multisig wallets, or, multisig functions on Ethereum | by Johann Lilly | Medium
 - Call | Solidity by Example | 0.8.3
 - solidity - How to detect if an Ethereum address is an ERC20 token contract? - Stack Overflow
 
Hashing
Upgrades
Verify Signature
- solidity - How can I verify a cryptographic signature that was produced by an Ethereum address key pair - Ethereum Stack Exchange
 - kabl/solidity-signature-verify: How to verify signature in an Ethereum Smart Contract
 - https://docs.soliditylang.org/en/v0.8.8/solidity-by-example.html
 - Scaling Web3 with SignTypedData. Please note: This is a very early stage… | by Dan Finlay | MetaMask | Medium
 - ethersjs
 - Signatures: Verifying Messages in Solidity | by RicMoo | RicMoo
 - How to recover the public key and address from a signed message? · Issue #447 · ethers-io/ethers.js · GitHub
 - ecrecover return the different address from signer's · Discussion #1419 · ethers-io/ethers.js · GitHub
 - wiki.software.List.OpenZeppelin
 - Utilities - OpenZeppelin Docs
 - openzeppelin-contracts/ECDSAMock.sol at 541e82144f691aa171c53ba8c3b32ef7f05b99a5 · OpenZeppelin/openzeppelin-contracts · GitHub
 - openzeppelin-contracts/ECDSA.test.js at master · OpenZeppelin/openzeppelin-contracts · GitHub
 
Verify hashed data
- ethersjs abi encode and decode
 - solidity - How to compare two bytes32? - Ethereum Stack Exchange
 - Signing Messages — ethers.js 4.0.0 documentation
 - solidity - How to assign a value to a bytes variable? - Ethereum Stack Exchange
 
Decode ABI Data
- Scaling Web3 with SignTypedData. Please note: This is a very early stage… | by Dan Finlay | MetaMask | Medium
 - abi - Decode raw data within Solidity - Ethereum Stack Exchange
 - solidity - Abi encode / decode using strings instead of bytes - Ethereum Stack Exchange
 - ABI Encoding Service Online for Solidity Smart Contracts by HashEx
 - https://docs.soliditylang.org/en/v0.8.8/units-and-global-variables.html?highlight=abi
 - solidity abi encode decode example
 - Build a hash from a string and a number uint256 on Solidity - Ethereum Stack Exchange
 - ethersjs abi encode and decode
 - https://docs.soliditylang.org/en/v0.8.8/units-and-global-variables.html?highlight=abi
 - ethersjs - String to Hex in Ethers.js - Ethereum Stack Exchange