You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.7 KiB

  1. - start node and blockchain syncing in testnet
  2. ```
  3. geth --testnet --datadir ~/eth-testnet
  4. ```
  5. - create first account (wallet)
  6. ```
  7. geth --testnet --datadir ~/eth-testnet account new
  8. ```
  9. - mine ethers in testnet
  10. ```
  11. geth --testnet --datadir ~/eth-testnet --mine
  12. ```
  13. - serve dapp running on localhost:8000 via RPC
  14. ```
  15. geth --testnet --datadir ~/eth-testnet --rpc --rpccorsdomain "http://localhost:8000" --rpcapi eth,web3,personal
  16. ```
  17. - generate ABI from contract.sol
  18. ```
  19. solcjs --abi HelloWorldContract.sol
  20. ```
  21. - generate the byte code
  22. ```
  23. solcjs --bin HelloWorldContract.sol
  24. ```
  25. - deploy contract via geth js console
  26. - open geth console
  27. ```
  28. geth --testnet --datadir ~/eth-testnet console
  29. ```
  30. - in the console create the contract using ABI and BYTE CODE result from compilation
  31. ```js
  32. var abi = [{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"bytes32"}],"payable":false,"type":"function"}];
  33. var code = '0x60606040527f48656c6c6f20576f726c64000000000000000000000000000000000000000000600090600019169055341561003957600080fd5b5b609d806100486000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314603d575b600080fd5b3415604757600080fd5b604d606b565b60405180826000191660001916815260200191505060405180910390f35b600054815600a165627a7a72305820f4c510e24a238337d5334b5b38a44e88ea53ef40f26aeb96eba4609cb72827cd0029';
  34. web3.personal.unlockAccount(eth.accounts[0], 'PASSWORD');
  35. var inputdata = ["pub", "h", "u", "sv", "signerid"];
  36. var contract = web3.eth.contract(abi).new(inputdata,{ from: eth.accounts[0], data: code, gas: 1000000 });
  37. web3.personal.lockAccount(eth.accounts[0]);
  38. ```
  39. - call the method in the contract
  40. ```js
  41. contract.name()
  42. ```