Tutorial to install Komodo Platform on Mac OS without GUI



PLEASE FOLLOW THE VIDEO TUTORIAL: https://youtu.be/FD081x9KyhQ


If you have already made a wallet that holds KMD don't forget to backup your wallet.dat.


1. First download komodo OSX binaries  and extract the archive. Place the extracted folder komodobins_osx_latest.zip in the desktop  `~/Desktop`. 


2. You should rename the komodobins_osx_latest.zip folder to just komodo. Navigate to that folder in OSX Terminal (command line)  

cd ~/Desktop/komodo


3. Start komodod by running the following command:

./komodod 


4. You will receive an error. Komodod requires you to create a komodo.conf file. However, by running ./komodod you have automatically created a new folder called Komodo in your `/Library/Application\ Support/` folder.


5. Next we'll create and edit the configuration file.

nano ~/Library/Application\ Support/Komodo/komodo.conf


This will a new file in nano called komodo.conf.


Copy the following and paste it into nano (hotkey ⌘+V):

rpcuser=yourRpcUserName  
rpcpassword=yourSecurePassword  
rpcbind=127.0.0.1  
server=1  
listen=1  
addnode=5.9.102.210
addnode=78.47.196.146
addnode=178.63.69.164
addnode=88.198.65.74


Once you have pasted the configuration, press CTRL+X to close Nano. A prompt at the bottom of the terminal window will ask you if you want to save. Press 'y' then ENTER.


6. So now that you have created your komodo.conf file you are ready to download the zk-snark proving key & verifying key.


While the keys are downloading, input the following into your terminal to create the ZcashParams directory:


mkdir ~/Library/Application\ Support/ZcashParams



Once the keys have finished downloading we will copy them into the ZcashParams directory using ditto. Make sure you download them to the Downloads folder.

Move sprout keys:

ditto ~/Downloads/sprout-verifying.key ~/Library/Application\ Support/ZcashParams



Move proving keys:  

ditto ~/Downloads/sprout-proving.key ~/Library/Application\ Support/ZcashParams


7. Now that we have moved the keys we need to start the Komodo daemon. Input the following into your terminal:

./komodod



8. Komodod should start synching. You can check progress by running './komodo-cli getinfo'


9. To stop komodod, run: ./komodo-cli stop


Downloads:

OSX Binaries: https://github.com/SuperNETorg/komodo/releases/download/v1.0.8-osx-4/komodobins_osx_latest.zip

Zk-snark proving keys: https://z.cash/downloads/sprout-proving.key

Verifying keys:https://z.cash/downloads/sprout-verifying.key

 

For OSX, all commands must have All commands must have `./komodo-cli` in front of it.
Example:

 ./komodo-cli getinfo


10 Main Commands


1. ./komodo-cli getinfo (Checking current block and balance information)

{
    "version" : 1000550,
    "protocolversion" : 170002,
    "KMDversion" : "0.1.0",
    "notarized" : 186670,
    "notarizedhash" : "000000308845da840ab9af6c1e09dc02f3118683df065b5ec00b05c9bd58cdae",
    "notarizedtxid" : "6723a10ef4fceab230d4245305d1ed2a916e435abb83269c20daad9bbefd3f0e",
    "notarizedtxid_height" : "mempool",
    "notarized_confirms" : 0,
    "walletversion" : 60000,
    "balance" : 0,
    "interest" : 0,
    "blocks" : 186773,
    "longestchain" : 308867,
    "timeoffset" : 0,
    "tiptime" : 1486411069,
    "connections" : 8,
    "proxy" : "",
    "difficulty" : 1624278.62879530,
    "testnet" : false,
    "keypoololdest" : 1482746526,
    "keypoolsize" : 101,
    "paytxfee" : 0.00000000,
    "relayfee" : 0.00001000,
    "errors" : ""



2. ./komodo-cli getnewaddress (Create new Komodo address)


3. ./komodo-cli backupwallet destination (Save your wallet.dat to particular destination)


4. ./komodo-cli dumpprivkey Komodoaddress (Dump privatekey)


5. ./komodo-cli listaddressgroupings (List all group of addresses with common ownership and inputs)


6. komodo-cli importprivkey Uxxxxxxxxx (Import your Komodo privatekey)


7. komodo-cli getbestblockhash (Get the latest block hash)


8. komodo-cli sendtoaddress Rxxxxxxxx 0.01  (Send Transaction to address) 


9. komodo-cli help (See all commands)


10. komodo-cli stop (Stop komodod)

           



All Command by Section

== Blockchain ==
getbestblockhash
getblock "hash|height" ( verbose )
getblockchaininfo
getblockcount
getblockhash index
getblockheader "hash" ( verbose )
getchaintips
getdifficulty
getmempoolinfo
getrawmempool ( verbose )
gettxout "txid" n ( includemempool )
gettxoutproof ["txid",...] ( blockhash )
gettxoutsetinfo
kvsearch key
kvupdate key value flags/passphrase
minerids needs height
notaries height
paxpending needs no args
paxprice "base" "rel" height
paxprices "base" "rel" maxsamples
verifychain ( checklevel numblocks )
verifytxoutproof "proof"

== Control ==
getinfo
help ( "command" )
stop

== Generating ==
generate numblocks
getgenerate
setgenerate generate ( genproclimit )

== Mining ==
getblocksubsidy height
getblocktemplate ( "jsonrequestobject" )
getlocalsolps
getmininginfo
getnetworkhashps ( blocks height )
getnetworksolps ( blocks height )
prioritisetransaction <txid> <priority delta> <fee delta>
submitblock "hexdata" ( "jsonparametersobject" )

== Network ==
addnode "node" "add|remove|onetry"
clearbanned
disconnectnode "node"
getaddednodeinfo dns ( "node" )
getconnectioncount
getnettotals
getnetworkinfo
getpeerinfo
listbanned
ping
setban "ip(/netmask)" "add|remove" (bantime) (absolute)

== Rawtransactions ==
createrawtransaction [{"txid":"id","vout":n},...] {"address":amount,...}
decoderawtransaction "hexstring"
decodescript "hex"
fundrawtransaction "hexstring"
getrawtransaction "txid" ( verbose )
sendrawtransaction "hexstring" ( allowhighfees )
signrawtransaction "hexstring" ( [{"txid":"id","vout":n,"scriptPubKey":"hex","redeemScript":"hex"},...] ["privatekey1",...] sighashtype )

== Util ==
createmultisig nrequired ["key",...]
estimatefee nblocks
estimatepriority nblocks
jumblr_deposit "depositaddress"
jumblr_secret "secretaddress"
validateaddress "bitcoinaddress"
verifymessage "bitcoinaddress" "signature" "message"
z_validateaddress "zaddr"

== Wallet ==
addmultisigaddress nrequired ["key",...] ( "account" )
backupwallet "destination"
dumpprivkey "zcashaddress"
dumpwallet "filename"
encryptwallet "passphrase"
getaccount "zcashaddress"
getaccountaddress "account"
getaddressesbyaccount "account"
getbalance ( "account" minconf includeWatchonly )
getnewaddress ( "account" )
getrawchangeaddress
getreceivedbyaccount "account" ( minconf )
getreceivedbyaddress "zcashaddress" ( minconf )
gettransaction "txid" ( includeWatchonly )
getunconfirmedbalance
getwalletinfo
importaddress "address" ( "label" rescan )
importprivkey "zcashprivkey" ( "label" rescan )
importwallet "filename"
keypoolrefill ( newsize )
listaccounts ( minconf includeWatchonly)
listaddressgroupings
listlockunspent
listreceivedbyaccount ( minconf includeempty includeWatchonly)
listreceivedbyaddress ( minconf includeempty includeWatchonly)
listsinceblock ( "blockhash" target-confirmations includeWatchonly)
listtransactions ( "account" count from includeWatchonly)
listunspent ( minconf maxconf  ["address",...] )
lockunspent unlock [{"txid":"txid","vout":n},...]
move "fromaccount" "toaccount" amount ( minconf "comment" )
paxdeposit address fiatoshis base
sendfrom "fromaccount" "tozcashaddress" amount ( minconf "comment" "comment-to" )
sendmany "fromaccount" {"address":amount,...} ( minconf "comment" ["address",...] )
sendtoaddress "zcashaddress" amount ( "comment" "comment-to" subtractfeefromamount )
setaccount "zcashaddress" "account"
settxfee amount
signmessage "zcashaddress" "message"
z_exportkey "zaddr"
z_exportwallet "filename"
z_getbalance "address" ( minconf )
z_getnewaddress
z_getoperationresult (["operationid", ... ])
z_getoperationstatus (["operationid", ... ])
z_gettotalbalance ( minconf )
z_importkey "zkey" ( rescan startHeight )
z_importwallet "filename"
z_listaddresses
z_listoperationids
z_listreceivedbyaddress "address" ( minconf )
z_sendmany "fromaddress" [{"address":... ,"amount":...},...] ( minconf ) ( fee )
zcbenchmark benchmarktype samplecount
zcrawjoinsplit rawtx inputs outputs vpub_old vpub_new
zcrawkeygen
zcrawreceive zcsecretkey encryptednote
zcsamplejoinsplit