Kotti, Solidity, ETC, Oh My!

Yaz Khoury
Mar 22, 2019 · 7 min read
Image for post
Image for post
Solidity v0.5.x and Ethereum Classic

Running Kotti

$ git clone https://github.com/ethoxy/multi-geth.git
$ cd multi-geth
$ make geth
$ ./build/bin/geth --kotti
Image for post
Image for post
$ ./build/bin/geth --kotti attach
> personal.newAccount()
> web3.fromWei(eth.getBalance(ADDRESS), "ether")
> eth.sendTransaction(ADDRESSA, ADDRESSB, web3.fromWei(10, "ether"))

Solidity 0.5.x and Ethereum Classic

$ npm install -g truffle
$ mkdir kotti-truffle && cd kotti-truffle
$ tuffle init
$ vim truffle-config.js
truffle console
truffle(development)>
truffle compile
truffle migrate
2_deploy_contracts.js
=====================
Deploying 'TrademarkRegistration'
--------------------------------- > transaction hash: 0xe7b98909941a69e82e44717e735c023d0403fbc5a870fe5c9e19258a24c7d3ea > Blocks: 0 Seconds: 4 > contract address: 0xe85B0637437A926B2ce437492Bc118E7E7F6EF12
> account: 0x25B7955E43Adf9C2A01a9475908702Cce67f302A
> balance: 9999970.000876312
> gas used: 932772
> gas price: 20 gwei
> value sent: 0 ETH
> total cost: 0.01865544 ETH
$ truffle console
truffle(development)> let trademark = await TrademarkRegistration.deployed()
undefined
truffle(development)> trademark
TruffleContract {
constructor:
{ [Function: TruffleContract]
*
*
*
send: [Function],
allEvents: [Function],
getPastEvents: [Function] }
truffle(development)> trademark.address
'0xe85B0637437A926B2ce437492Bc118E7E7F6EF12'
truffle(development)> trademark.checkTradeMark("ETC Take My Energy")
false
truffle(development)> trademark.registerTradeMark("ETC Take My Energy", "ETC")
{ tx: '0x3dbf55f52bea595eaf41c9eaa67cce30319ce79f0bc599eedb0ce9f1c6b36de0',
receipt:
{ blockHash: '0xbaa0cbb48498ac1fe695fce9d6ec8c4a251677481648ce3dbde075cbc8cb0d7a',
blockNumber: 250684,
contractAddress: null,
cumulativeGasUsed: 27024,
from: '0x25b7955e43adf9c2a01a9475908702cce67f302a',
gasUsed: 27024,
logs: [],
logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
root: '0x8f534f7f0b344e99f3e4800ff87ebde917b8180c1bc5d2e462e7473e5b76b895',
to: '0xe85b0637437a926b2ce437492bc118e7e7f6ef12',
transactionHash: '0x3dbf55f52bea595eaf41c9eaa67cce30319ce79f0bc599eedb0ce9f1c6b36de0',
transactionIndex: 0,
rawLogs: [] },
logs: [] }
truffle(development)> trademark.checkTradeMark("ETC Take My Energy")
true

Ethereum Classic

The original, immutable, decentralized Ethereum chain

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store