It's skiff — A utility command line interface for the Steem blockchain

in #utopian-io6 years ago

As a developer on the Steem blockchain there are numerous tasks I find myself revisiting repeatedly either manually or as called for in scripts. I started gathering these into one handy repository and skiff was born.

jordan-bauer-356574-unsplash-1.jpg
Photo by Jordan Bauer on Unsplash

Repository

https://github.com/tdreid/steem-skiff

What is the project about?

skiff aims to be a one-stop utility knife CLI for commponplace Steem blockchain related tasks.

It will draw on steemjs, dsteem, the developer portal, Discord server gossip and personal experience to shave as many milliseconds of developer time as possible off of such chores.

As of version 1.0 skiff offers five commands...

Examples follow. For full documentation see the README or append --help to any command while using skiff.

Make test accounts

screenshot-1.jpg

Verify a key or password

image.png

Generate a posting, active or owner key using a password

image.png

List all the properties that appear on n recent posts

This makes it easier to look up property names to pick for the get-posts command below.

image.png

Query a category of recent posts to CSV or JSON

image.png

Technology Stack

Roadmap

I've really only nabbed the first few and most frequent commands that I use on a daily basis. Many more are planned. Here are the features that have occurred to me so far:

  • Post, comment, follow, resteem, vote and flag with simple support for taking action when criteria are met;
  • Make skiff configurable to default to interacting with a testnet or live blockchain as needed. In addition most commands should support flags to point to alternate chains on an ad hoc basis;
  • Create accounts and pay the account creation fee;
  • Fold in the periodic transfers technique from last week's tutorial as well as make this feature more configurable;
  • Calculate Steem Power and Voting Power for multiple users;
  • Estimate curation and voting rewards.

How to contribute?

This project welcomes Pull Requests and Issues on Github.

I'm an active believer in the help wanted and good first issue tags on GitHub. If you're interested in this project there's not necessarily a need to wait for a Task Request. Feel free to find me on Discord (tdre#0689) too. You can propose an idea as a Utopian suggestion if you'd like to see an added command but aren't free to code it personally.

Please submit an Issue to:
  • Report a bug
  • Request a feature
Proposing a change

Please fork the steem-skiff repo and submit a Pull Request. Include a bit of a summary and follow the guidelines in GitHub documentation.

Coding conventions

Per the @utopian-io guidelines code should be well documented with comments. This project uses the jsdocs convention for comments. Please document new functions accordingly.

GitHub account

https://github.com/tdreid

Sort:  

Thank you for your contribution.

  1. you may want to define a list of code constants that is used by process.exit
  2. what does skiff stand for?
  3. how do I switch between testnet (+1 BTW) and the steem blockchain?
  4. You may want to start building up unit tests at the early stage of the project.
  5. You may want to take steem.api.setOptions out to a common module/place where users could set via command line. You may also refer to steempy CLI for some useful features.

Looking forward to more features/utilities!

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Hey @tdre
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

As a follower of @followforupvotes this post has been randomly selected and upvoted! Enjoy your upvote and have a great day!

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by tdre from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 64006.33
ETH 3077.08
USDT 1.00
SBD 3.87