86 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# blockchain
 | 
						|
 | 
						|
A template project for getting started working on the Ethereum blockchain.
 | 
						|
This project comes with basic packages for compiling and deploying Solidity contracts with Truffle.
 | 
						|
 | 
						|
Run `cp example.secrets.json secrets.json` and fill out the copied `secrets.json` with your information.
 | 
						|
 | 
						|
From this directory, run `npm install` to install required packages.
 | 
						|
 | 
						|
From there, we can create any contracts and deploy to development or public networks...
 | 
						|
### Development Deploy
 | 
						|
 | 
						|
```
 | 
						|
npx truffle develop
 | 
						|
truffle(develop)> migrate
 | 
						|
 | 
						|
Compiling your contracts...
 | 
						|
===========================
 | 
						|
> Compiling ./contracts/Migrations.sol
 | 
						|
> Artifacts written to /home/kapper/Code/klips/blockchain/eth/truffle-solidity/build/contracts
 | 
						|
> Compiled successfully using:
 | 
						|
   - solc: 0.8.0+commit.c7dfd78e.Emscripten.clang
 | 
						|
 | 
						|
 | 
						|
 | 
						|
Starting migrations...
 | 
						|
======================
 | 
						|
> Network name:    'develop'
 | 
						|
> Network id:      5777
 | 
						|
> Block gas limit: 6721975 (0x6691b7)
 | 
						|
 | 
						|
 | 
						|
1_initial_migration.js
 | 
						|
======================
 | 
						|
 | 
						|
   Deploying 'Migrations'
 | 
						|
   ----------------------
 | 
						|
   > transaction hash:    0xa82aeb7e6e3839f06321edc4b41fdb92e70f87b9a989f846fd465623deda4139
 | 
						|
   > Blocks: 0            Seconds: 0
 | 
						|
   > contract address:    0xD79FAf957cC8d3d6c7f8fc10875D8aF75e4eE9F1
 | 
						|
   > block number:        1
 | 
						|
   > block timestamp:     1620058221
 | 
						|
   > account:             0xcFE4341F1DFEbdff039642e1A26032755F38ADA5
 | 
						|
   > balance:             99.995114
 | 
						|
   > gas used:            244300 (0x3ba4c)
 | 
						|
   > gas price:           20 gwei
 | 
						|
   > value sent:          0 ETH
 | 
						|
   > total cost:          0.004886 ETH
 | 
						|
 | 
						|
 | 
						|
   > Saving migration to chain.
 | 
						|
   > Saving artifacts
 | 
						|
   -------------------------------------
 | 
						|
   > Total cost:            0.004886 ETH
 | 
						|
 | 
						|
 | 
						|
Summary
 | 
						|
=======
 | 
						|
> Total deployments:   1
 | 
						|
> Final cost:          0.004886 ETH
 | 
						|
 | 
						|
 | 
						|
- Blocks: 0            Seconds: 0
 | 
						|
- Saving migration to chain.
 | 
						|
 | 
						|
truffle(develop)> .exit
 | 
						|
```
 | 
						|
 | 
						|
### Public Network Deploy
 | 
						|
 | 
						|
To deploy, you need ETH on a wallet connected to ropsten. Metamask is the wallet I use.
 | 
						|
I explain how to configure metamask on ropsten on [Knoats - Solidity](https://knoats.com/books/c/page/solidity)
 | 
						|
 | 
						|
Give yourself test Ethereum with the [Ropsten ETH Faucet](https://faucet.ropsten.be)
 | 
						|
 | 
						|
To deploy to ropsten test network, and verify using `truffle-verify-plugin` -
 | 
						|
 | 
						|
```asm
 | 
						|
npx truffle migrate --network ropsten
 | 
						|
npx truffle run verify Migrations --network ropsten
 | 
						|
```
 | 
						|
 | 
						|
For a guide on how I configured this project, see [Knoats - Solidity](https://knoats.com/books/c/page/solidity)
 | 
						|
 | 
						|
An example ERC20 token can be found at [shaunrd0/karma](https://gitlab.com/shaunrd0/karma)
 |