themakers / smartcontract-experiments

(draft)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

smartcontract-experiments

How to run?

  • install latest docker
  • install latest docker-compose
  • invoke ./compose-up in shell from repository root

Development cycle

  1. Develop contract
  2. Cover new features with assertions
  3. Invoke ./compose-up to run testsuite

Docs

Gas

ethereum-gas-explained-in-plain-english

  • Gas estimation?
    • For blobs?

Notes

Misc

Ethereum Developer Resources https://ethereum.org/developers/#getting-started

EIP20 https://eips.ethereum.org/EIPS/eip-20

If you want to create a standards-compliant token, see: https://github.com/ConsenSys/Tokens

VueJS dApp https://medium.com/openberry/ethereum-solidity-vue-js-tutorial-simple-auction-dapp-within-10-minutes-76ba48156b2

Subspace dApps framework https://subspace.embarklabs.io/#learn

dApps informational website https://www.stateofthedapps.com/

swarm-gateways.net https://swarm-gateways.net/

https://docs.ethers.io/ethers.js/html/cookbook-providers.html#testrpc-ganache

https://medium.com/upstate-interactive/mappings-arrays-87afc697e64f

SafeMath import "https://github.com/OpenZeppelin/openzeppelin-solidity/contracts/math/SafeMath.sol";

Basic dApps browser integration

window.addEventListener('load', async () => {
  	if (window.ethereum) { // Modern dapp browsers...
        window.web3 = new Web3(ethereum);
        try {
            // Request account access if needed
            await ethereum.enable();
            // Acccounts now exposed
            accountaddress = web3.givenProvider.selectedAddress;
            ballotContract = new web3.eth.Contract(abi);        		    
        } catch (error) {
            // User denied account access...
        }
    } else if (window.web3) { // Legacy dapp browsers...
            window.web3 = new Web3(web3.currentProvider);
            // Acccounts always exposed
            web3.eth.sendTransaction({/* ... */});
    } else { // Non-dapp browsers...
            console.log('Non-Ethereum browser detected. You should consider trying MetaMask!');
    }
});

About

(draft)


Languages

Language:JavaScript 92.2%Language:Dockerfile 5.7%Language:Shell 2.1%