Introducing: Jarvis - Your Personal Assistant for Steem
steem·@therealwolf·
0.000 HBDIntroducing: Jarvis - Your Personal Assistant for Steem
`Jarvis` *(for Steem)* is a script that automates essential functions for your Steem account[s]. Currently, Jarvis is able to do the following tasks: - Transfer SBD & STEEM to a specified account (incl. encrypted memo) - Power-up STEEM to a specified account - Delegate STEEMPOWER to specified account[s] - Claim SBD, STEEM & STEEMPOWER rewards ---  --- Here are some examples of how Jarvis can help you: - *Your alt accounts received some Steem? Jarvis can power it up automatically to your main account.* - *You have a specific cold-storage account. Jarvis can transfer new incoming liquid STEEM & SBD of all your accounts to the specified cold-storage account while keeping track of how much you want to keep on your other accounts.* - *You've got multiple accounts, to diversify your holdings and which should all powerup automatically to themselves, but your main-account should have that Steempower delegated for use? Well, Jarvis can do that for you.* Interested? Great! Setting it up isn't too difficult either. --- #### Github https://github.com/therealwolf42/steem-jarvis --- **Disclaimer: This software has been developed with rigour and cautiousness, but I'm not taking any responsibility for possible bugs or misuse/mistakes from the user. If you're using this software, you're accepting full responsibility for your own funds & accounts.** --- ## Getting Started --- ### Docker Installation (Recommended) It is recommended to use Docker. ``` git clone https://github.com/therealwolf42/steem-jarvis.git cd steem-jarvis chmod +x run.sh ./run.sh install_docker # Choose MODE (Default: development => testing-mode without broadcasts to blockchain) ./run.sh build MODE # MODE is either production OR development ./run.sh start # To get a list of possible commands, use: ./run.sh help ``` --- ### Manual Installation However, you can also run the node manually, with PM2 or your favourite program. ``` Requirement: Node >= 8 sudo apt update sudo apt install -y curl software-properties-common gnupg build-essential libssl-dev curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt install -y nodejs sudo npm i npm@latest -g ``` <br> ##### 1.) Clone Repository and install packages --- ``` git clone https://github.com/therealwolf42/steem-jarvis.git cd steem-jarvis npm i ``` <br> #### 2.) Edit your Config --- ``` # There are 3 different example configs # config.example.json (clean version) # config.example.detailed.json (detailed version) # config.example.smartsteem.json (version for Smartsteem.com) cp configs/config.example.json configs/config.json nano configs/config.json ``` <br> #### Config Detailed Example --- ``` { "RPC_NODES": [ "https://api.steemit.com", "https://api.steemitstage.com", "https://steemd.privex.io", "https://gtg.steem.house:8090", "https://rpc.buildteam.io", "https://steemd.minnowsupportproject.org" ], "KEY_PAIRS": [ { "account": "veryuniqueaccount2", "type": "posting", "key": "5HFAKSS" }, { "account": "veryuniqueaccount2", "type": "active", "key": "5JFJSFD" }, { "account": "veryuniqueaccount2", "type": "memo", "key": "5JFJSFD" } ], "GENERAL": { "minimum_steem_for_powerup": 0, "minimum_steem_for_transfer": 0, "minimum_steem_for_delegation": 2, "interval_in_minutes": 30, "test_mode": false }, "ACCOUNTS": [ { "name": "veryuniqueaccount1", "claim_rewards": true, "key_account": "veryuniqueaccount2", "actions": [ { "action_type": "powerup", "to": "veryuniqueaccount2", "asset": "STEEM", "keep": 5, "memo": "yourmemo" }, { "action_type": "transfer", "to": "veryuniqueexchange", "asset": "SBD", "memo": "12345yourexchangeid", "encrypted": true }, { "action_type": "delegate", "to": ["veryuniqueaccount2", "veryuniqueaccount3"], "keep": 5, "percentage": [60, 40] } ] }, { "name": "veryuniqueaccount2", "claim_rewards": true, "key_account": "veryuniqueaccount2", "actions": [ { "action_type": "delegate", "to": "veryuniqueaccount3", "percentage": 100 } ] }, { "name": "veryuniqueaccount3", "claim_rewards": true, "key_account": "veryuniqueaccount2", "actions": [] } ] } ``` --- ### Config Explanation In the example above, I added all possible paths of using Jarvis so this should give you an idea, how to configure it, but here is the explanation in detail. --- - **Key Pairs** => Array of object - `account `=> Your account name - `type `=> either `active `or `posting `or `memo` - `key `=> private key --- - **General** => General settings - `minimum_steem_for_powerup ` => threshold for powerups - `minimum_steem_for_transfer ` => threshold for transfers - `minimum_steem_for_delegation ` => threshold for delegations - `interval_in_minutes ` => how much time should pass between intervals of checking for work - `test_mode ` => whether test mode should be forced (no actual transactions will be made) --- - **Accounts** => List your accounts here - `name` => Account name - `claim_rewards ` => Whether rewards should be claimed (requires posting key) - `key_account ` => If the key_authority should be used from another account (you could essentially give one account all your key authorities and use only 1 key-pair) - `actions ` => Array of actions, see below --- - **Action** => What each account should do - `action_type ` => can be transfer, powerup or delegate - `to ` => account[s] that should be targeted i.e: where transfer/powerup/delegation should go to - `asset ` => can be STEEM or SBD - only required for transfer & powerup (has to be STEEM for powerup) - `keep ` => how much of the asset should be kept in the account - `memo ` => only usable by transfers - `encrypted ` => if the given memo should be encrypted (requires memo key as key-pair) - `percentage ` => only required for delegate, how much of your total Steempower should go towards the user (has to be the same order as to field) --- ### Manual Start --- You can either run it directly with npm start or by using PM2. ``` sudo npm install pm2 -g # if you haven't installed it yet pm2 start ecosystem.config.js --env production ``` --- ### Manual Testing --- You can either set the test_mode inside the config to force the test-mode or start the program in development mode ``` npm run dev # or # pm2 start ecosystem.config.js ``` --- That's it for the technical post. Please let me know if the explanations were good enough. I'll try to create another post in the near future, where I display some examples, how I'm personally utilizing `Jarvis`. All the best, Wolf --- <center><a href="https://therealwolf.me/vote"><img src="https://i.imgur.com/GMiLiAh.png"></a> <sup>Do you believe that my work is valuable for Steem? Then please <a href="https://therealwolf.me/vote">vote for me as witness</a>.</sup></center>
👍 bitmaxt, alainite, iykecollins, cjunros, macmaniac77, phusionphil, ashishchavda, ivet, mediahousent, mellissamartz, itwasabeginning, jorge090202, angelinafx, mike314-0005, cardboard, steemitri, gbg, cfminer, whatsup, espoem, amosbastian, tobias-g, dr-frankenstein, holger80, meno, jaff8, codingdefined, adamada, rufans, fego, smartmarket, therealwolf, artbunny, randomatrix, steevc, kendallron, kiryck, detlev, rivalzzz, midlet, themarkymark, steemtruth, ssekulji, humanduck, helpie, gdwcoins, nancybriti, ripperone, jeffjagoe, morph, jagoe, mwfiae, beautifuldata, redrica, melavie, art-mess, socent, pechichemena, kernelillo, luisferchav, soulturtle, carpedimus, spawnband, belaviel, veckinon, free-reign, misterro, daan, diggndeeper.com, alexis555, tonpa, eonwarped, lebin, mountainjewel, lunaticpandora, silentscreamer, warpedpoetic, hazem91, juandvg, siomarasalmeron, foxyspirit, break-out-trader, solominer, s7effen, kbr, shookriya, pangoli, cryptosharon, mindtrap, derangedvisions, rawutah, mcfarhat, markaustin, bluemist, willsaldeno, rival, hungryhustle, faltermann, vegeta, goldkey, crimsonclad, theaustrianguy, bozz, conradsuperb, clayboyn, discordiant, macchiata, carrieallen, steemleague, taug, dgaming, smolalit, kingkinslow, snackaholic, patlu, leveragetrading, commbank, steemabuse, sooflauschig, bssman, jeff-kubitz, blowmywhistle, teamhumble, aggroed, arquiatra, schlafhacking, blocktrades, romeskie, darkflame, jayna, evernoticethat, trevorpetrie, holsturr, msp-lovebot, gnarlyanimations, mindscapephotos, sunshinebear, bobdos, ammonite, seanlloyd, theartisangroup, amymya, misia1979, anarcho-andrei, bennettitalia, verhp11, themonetaryfew, imealien, ocupation, distantsignal, teutonium, galorum, indayclara, dkid14, jongolson, evecab, musicvoter, grizzle, atomcollector, theatreofdelays, recordpool, archaimusic, adasq, joshman, fullcoverbetting, mantishands, mikedeace, bubke, rimantas, isacoin, mammasitta, masterthematrix, rosatravels, kabir88, edith4angelseu, smasssh, kpine, sharpshot, bitcoinflood, drakos, artisticscreech, mcoinz79, firepower, cryptonew, elevator09, shitsignals, yoogyart, skarnoze, gandalfthewhite, jphamer1, loshcat, greenorange, huch, lionsuit, vikisecrets, fiveart, gcalex, asgarth, fabianklauder, tensor, shredz7, tdogvoid, smjn, techslut, didic, drakernoise, ilikeit, znnuksfe, yabapmatt, lovemetouchme2, brianphobos, daeshawn, manojbhatt, safran, cryptopassion, xaero1, bhuz, z8teyb289qav9z, imacryptorick, lafona-miner, sirvotesalot, twinner, candyboy, jaydih, spectrumecons, chbartist, justtryme90, kingscrown, ssin, josephcraig289, abusereports, sock, kingsmind, pboc, salma.ali, potplucker, tuoficinavirtual, phlatattak, leongkhan, abigail-dantes, upme, kaylinart, igl00, bigdaddy, themuffinman, magicinvesting, mindstabber, bubbleburst, dan-bn, jdevora, beeridiculous, resheep, iedot, silversteem, darthnava, doodleman, dancingwolves, mommydays, upcroak, rokhani, upgoat, queenmountain, seajai, aurorax, jesusj1, adrianbucks, erikkun28, aburashed, scoora82, grzesiekb, pcsg-dev, marfa, lestravel, atsobanakis, cryptoshack, ninjatuner, pornworld, andreasgrubhofer, dimon14, minersean, erikaflynn, lordneroo, jakipatryk, suesa, che-shyr, ajayyy, vanarchist, abh12345, walnut1, silviu93, dakeshi, vishalsingh4997, elear, zoneboy, mcyusuf, gentleshaid, aussieninja, tykee, carloserp-2000, miguelangel2801, emiliomoron, ulisesfl17, tomastonyperez, elvigia, josedelacruz, viannis, erickyoussif, lorenzor, tsoldovieri, iamphysical, felixrodriguez, azulear, amestyj, ivymalifred, vjap55, eliaschess333, yrmaleza, arac, luiscd8a, elpdl, joseangelvs, andrick, yusvelasquez, ydavgonzalez, flores39, bhargavdas, eastmael, scienceangel, eniolw, geadriana, tdre, carlos84, sandracarrascal, douglimarbalzan, ennyta, gaming.yer, steem-familia, evangelista.yova, jenniferjulieth, ajfernandez, endopediatria, ingmarvin, alix96, bhattg, faustofraser, louis88, newsrx, steemik, nascimentoab, nikulinsb, steeminer4up, kgakakillerg, hattaarshavin, sargoon, plumubble, jjay, anhkagi, magnus19, ryuna.siege, albanna, toalsty, anewbeginning, borislavzlatanov, bobandtom, forrestgump, aboutcoolscience, pennsif, wadepaterson, alexzicky, destrudo, davinci.witness, davinci.polyglot, mondodidave73, dimitrisp, nicejob, spaghettiscience, phage93, knfitaly, reseller, rscalabrini, giornalista, imcesca, drifter1, robertbira, steemtogether, onin91, dewayn, luj1, dahaz159, d00k13, jsl416, utopian-io, tombstone, jga, fandy, steemitpatina, bitjoinus, webdeals, nyak-putroe-aceh, geoffrey, wassildahi, a-condor, maximdraws, burakakdogan, myjourney, barton26, atanas007, pierlave, hatu, acidyo, momijiscrypto, enzor, markkujantunen, runridefly, danoskie, rubenalexander, culgin, bartosz546, luzcypher, aalagenesis, kondor1030, aniellopas, try3, zephyraijunzo, xeldal, enki, enlil, k3t3r, tufkat, pi1000, surpassinggoogle, bistonic, goode, southparkqueen, plojslydia, princekelly, ranielbrianulan, mdtipo, motivatorjoshua, awesome.ian, berylwills, senseibabs, goddywise4-eu, andrelion, meansunlare, asfuriah, greenpower, pelephotography, dysc0rd, karyah1001, nessyquel, davealemana, ekjosh, jecren, harkushi, goalgetter, pauloliverpino, sanyjaya, ligarayk, babaj, allaboutme, camilus, loydjayme25, kul0tzzz, julianalpanta, sissyjill, jacintoelbarouki, morbyjohn, pojgaerlan, thamrin, aldiyani, freudy, zombieslayer, jefry113, rjrudillas14, dexter24, arcange, mhel, penantang, pipo092281, parag, muksalbaihaqi, estrellamag, layanmarissa, strings, richgang, kingsman2, sexygirl123, basir92, rheyss08, annamighty, dzued, mahmuliadi, richmanoloriegbe, atjehsteemit, arellanoyan, khloyd, akaikeru, beni96, jeanp, donjyde, faisal08, wirdayulahya, fibrefox, khairuddin08, muzaiyan, zay-arasi, dondondamayo, elbleess, artoraly, smafey, mercy11, masud222, zohaib715, klizo, enjoyy, hasan086, handfree42, levinvillas, chiboyzz, ryl, starzy, mcamayra, shahaan, monwalker, rhei86, toyosiartdiy, theunlimited, queenlyka, muammarnst, jayo, mikemaphu, bravofer, belvajarandilla, rechellomataro, anime.lovers, gerliepepito, blackelephant, bobiecayao, kofspades, olayemzeecool, bobtucks, modernmclaire, evansbankx, used-lessboy, victoriakorol, new.diak, vlogger56, bittrex12, virgo27, muzzlealem, wandy01, mbahtutorial, lykia, sabiondico, kaplat, etaletai, techsfair, jgpro, kumagang, bhim, emdesan, hasim5164, amarm, cheesom, crypto4euro, matadonis, brewingstories, erenai, dazzy, paulasands, ahmad097, hazelicious, ernoldlvb, rishadhaque, dwightjaden, advsamadhan, mkmk, fadiji09, bitcoin.news, emirfirlar, breezieblack, noechie1827, alex04, sampath94, dtube-alfa, chrisjayl, greenville, kelvo, beshooo, sharminwadud, joco0820, roheemat, edyscout81, leeyen23, aikee, moksamol, lotfiuser, sunnylife, evolutionnow, bestsmiles, fredoski, pboss123, preciousimo, polycarpedet, omoyiwolabusayo, mutiarahmi, neilrichmond, magatha, muhammad.iqbal, mrwang, pipks, marshall117, gps7530, haji, shippou95, mustaphaaoufi, adnanbtc, kike313, camillius, neneandy, iamfo, phoebedoll, afefe, arrahman90, jsantos17, bloghound, joshruiz, pjmisa, hrovat66, vegasgambler, benjaspa, syamsudduha2, ninjarobo, rikilb, jeef-zone, votehumanity, ljpaez, chunnorris, viralfever, jhanmervz, ckbahdon, engineeringfeed, tomatom, dolphinscute, eruditescholar1, charitybot, kutrulaju, ramadhanil, bengeudens, lianbloog, egheprincez, whoib, fidel66, esl, rojellyannsotto, greatwarrior79, loudetteiam, cradle, ilmondoditea, ggd3yydze, azisjesika, syami, mzajoke, yusifm, mrogy1, edjesus, pearlkel, jjohnson78, cool08, rachelleignacio, josuepalacios, yahman, marzukie, dokter-purnama, superstar65, amanpathak, maticpecovnik, thienduc, abrahamcera, patchnotes, martzpro, lazylove, kisom1, pipbypip, paulmoon410, harry-heightz, pritidkurani, raphaelle, dizzyjay, studytext, shiddiq, razik9708, charitymemes, deseojunar, iamwhatiamnot, beanenergy, faithvarron, mirna98, stuckinacup, jayfamous, eightbitfiction, arisviyo, oclinton, cypher01, lakawero, uceph, pichat, cmbugua, silasvogt, ibez, wealth4good, samdman, iswanisamion, bendany, tolarnee, simgirl, steemdragon, zeshanjaved, pushpo, rosenderevies, cobloc, zenc, romiferns, abyni, katrina71, depq, nhiconoelortazon, eurogee, eduardonarvaez, aehiguese, lifediaries2nd, udochi, carloniere, nonsqtr, ninyea, marysent, sukro, hillaryaa, isaganicabrales, tentalavera, frellarong, luijii, raquelita, lykaypajaro, badzkie123, isaaceko, orhem, gwapoaller, keybordjp, steeman220, autofreak, nanwaiwaimyint, cordeta, bitmycoin, everydaybitcoin, khat.holanda23, bgmuna, jacobzeema, jancharlest, bumut, steemian-sniper, mollythegreat, vishalhkothari, felix.herrmann, meedo, osobiggie, lordgod, pi50000, sorin.cristescu, d-pend, motoengineer, truce, nateaguila, lanhange, jonny-clearwater, lafona5, gascap9000, joele, dana-edwards, unconditionalove, kontixdtube, cheftony, ediya, alishannoor, elgeko, decuration, holbein81, discovereurovelo, adzrobinson, steemquebec, floridasnail, joeuhw, make-a-whale, xiaoliang, stayoutoftherz, jkramer, judasp, intrepidphotos, robmolecule, sc5tt, aamirijaz, slickwilly, giuatt07, adept-forever, hossary, rwilday, eyemon1, soushi888, swissclive, maryfavour, julieo, bafi, holm, rndness222, tizswa, clio, miti, bobsrepair, liuye, rakkasan84, tradewonk, changyoon, davidpakman, iamstan, pladozero, jazzybells, steemsecrets, indigoocean, honourmaus, bustami83, lasseehlers, simonpeter35, supersoju, nil1511, steemcafe, wrecktangle27, teardrops, ourdailyboard, trueonot, rynergy, teukumukhlis, razack-pulo, damla, investfourmore, abdulmanan, micaelacf, assistentesocial, scottweston, s3rg3, cuttie1979, cotarelo, bumper, dexter-k, johnny-appleseed, kaylog, bilimkurgu, lucky2015, dj123, taliakerch, sjennon, crypto2go, lec, moisesmcardona, i-d, littleboy, shikika, concorde, ccoin, steem-id, imanisraelirick, foruni73, mehta, achim86, sirjaxxy, bcfriday, jazzyjeff, bluedragon1974, justasperm, coquiunlimited, avhyaceulip, roncoejr, janusface, emrebeyler, steinreich, rigaronib, walterjay, johnquake, ozphil, monajam, carilinger, michaelcabiles, marling, robinhaney, spydo, valikos, brandonp, litrbooh, lovenfreedom, cryptocommand, freddio, arshikhan, flauwy, alexko-steemit, roguewriter, wisenipper, stoodkev, thecyclist, cindycam, deisip67, roseri, lasocia, carmenl, timothyallen, reko, niallon11, wondersofnature, stewart-suarez, hannanuh, fieon, thidaratapple, mommabutterfly, steemengines, noelboensel, steemmeupscotty, kaliju, sozdemir, rantar, pardeepkumar, happymoneyman, thinkkniht, memorysports, flauwy-de, amahovac93, aafrin, vladimir-simovic, aewind, maxer27, krischy, siopao, chixijane90, ginopaway, ckadie1324, gifty-e, topsecret, nickeychan, yensesa, natalii46, deandaniel, goldsphex, stepway174rus, russianrockmusic, empress-katy, chetanpadliya, teaholik, steemfleamarket, justice442, solomon507, anyadan, imbigdee, djoi, saintopic, stevenmosoes, iamrobotboy, brakofi, agyapong, mosunomotunde, sola3097, ilukzymoore, ilukujoseph, dwriterinme, vaishykrishan, omotundegirls, masterroshi, sachiewerk, movement19, carlitojoshua, desmond41, chinyerevivian, karines, ange.nkuru, henriano, bennie-13, ludorum, lemouth, bestbroplayer, dacx, trevonjb, accelerator, arunava, violetmed, thenightflier, abrockman, carlpei, effofex, drayhazz, stevennoppebrian, truth-be-told, dantealfaiz, tomco984,