Difference between revisions of "Mac Solidity Setup"
Jump to navigation
Jump to search
Line 61: | Line 61: | ||
This must be on one line | This must be on one line | ||
startnode.sh | startnode.sh | ||
geth --networkid 4224 --mine --minerthreads 1 --datadir "~/ChainSkills/private" --nodiscover --rpc --rpcport "8545" --port "30303" --rpccorsdomain "*" --nat "any" --rpcapi eth,web3,personal,net --unlock 0 --password ~/ChainSkills/private/password.sec | geth --networkid 4224 --mine --minerthreads 1 --datadir "~/ChainSkills/private" --nodiscover --rpc --rpcport "8545" --port "30303" --rpccorsdomain "*" --nat "any" --rpcapi eth,web3,personal,net --unlock 0 --password ~/ChainSkills/private/password.sec --ipcpath "~/Library/Ethereum/geth.ipc" | ||
--ipcpath "~/Library/Ethereum/geth.ipc" |
Revision as of 22:39, 10 March 2018
Solidity Programming setup
- Install Xcode
- Open xcode to accept the license agreement.
- Close xcode
- Open terminal
xcode-select --install
this will install command line tools, which is needed to install homebrew
- Install homebrew
- Go to Brew sh
- Copy and paste script from brew into terminal
- Install Geth
brew update // update catalog brew tap ethereum/ethereum // add the ethereum repository to catalog brew install ethereum
To upgrade an existing installation
brew upgrade ethereum
- Install Ganache Ganache
- New version has a bug so install Ganache Version 1
- Ganache is like testrpc
- Install NodeJs NodeJs
- This installation will also upgrade older versions
- On a new system you can use
brew install node
- Install Truffle4 Truffle Framework
sudo npm install truffle
- If you have older version YOU MUST REMOVE IT
npm uninstall -g truffle
Setting up the Ethereum Node
- Create Folders
mkdir -p ~/ChainSkills/private
- Define Genesis Block ( run from the private Directory)
puppeth
- Network Name
- whatevername
- Option 2 to configure new genesis
- Option 1 (Ethash proof of work)
- Which account to be funded
- Just Hit Enter
- Specify your chain/network id
- 4224 (has to be different for the other networks)
- What would you like to do
- Option 2 (manage existing genesis)
- OPtion 2 (export genesis Config)
- Accept default filename
- Ctrl C to Quit
Initialize Private Node
Must be in the Private Directory
geth --datadir ~/ChainSkills/private init chainskills.json
Prepare for Mining
Create some accounts ( make sure you are in the private directory) run multiple times to create more accounts
geth --datadir . account new // create password the . means current directory
Accounts are stored in an array [0], [1] Etc. List accounts
geth --datadir . account list
Create a Script to Start the Mining Node
This must be on one line startnode.sh
geth --networkid 4224 --mine --minerthreads 1 --datadir "~/ChainSkills/private" --nodiscover --rpc --rpcport "8545" --port "30303" --rpccorsdomain "*" --nat "any" --rpcapi eth,web3,personal,net --unlock 0 --password ~/ChainSkills/private/password.sec --ipcpath "~/Library/Ethereum/geth.ipc"