Steem-tx | Lightweight JavaScript library for creating and signing transactions on the Steem blockchain

in #steem4 years ago (edited)


steem-tx.jpg

steem-tx-js

Lightweight JavaScript library for creating, signing, and broadcasting transactions on the Steem blockchain



Important:
As this post gets older, please check official GitHub repository for the latest instructions and updates.


Why this?

steem-js and dsteem libraries are not easy to integrate and in some cases are incompatible with some frameworks like Nativescript

NativeScript is an open-source framework to develop apps on the Apple iOS and Android platforms. It was originally conceived and developed by Progress. NativeScript apps are built using JavaScript, or by using any language that transpiles to JavaScript, such as TypeScript. - Wikipedia

This library is a solution to such cases when official libraries are not working. And also an alternative for just creating, signing, and broadcasting transactions.

How Steem-tx works:

I'm preparing another post about this library. A full instruction on how to serialize and sign Steem transactions with JavaScript. It will take a few days to be ready.

Installation

npm install steem-tx --save

Usage

Create transaction:

const steemTx = require('steem-tx')
const operations = [
  [
    'vote',
    {
      voter: 'guest123',
      author: 'guest123',
      permlink: '20191107t125713486z-post',
      weight: 9900
    }
  ]
]

const tx = new steemTx.Transaction()
tx.create(operations).then(() => console.log(tx.transaction))

Sign transaction:

(multi signature is supported)

// please use this key just for testing purposes
const myKey = '5JRaypasxMx1L97ZUX7YuC5Psb5EAbF821kkAGtBj7xCJFQcbLg'
const privateKey = steemTx.PrivateKey.from(myKey)

tx.sign(privateKey)
console.log(tx.signedTransaction)

Broadcast transaction:

tx.broadcast().then(res => console.log(res))

Make node call:

steemTx.call('condenser_api.get_accounts', [['mahdiyari']]).then(res => console.log(res))

GitHub: https://github.com/mahdiyari/steem-tx-js
npm package: https://www.npmjs.com/package/steem-tx


Feel free to test, use, share!

Future plans?

I'm building different applications mainly for Steem blockchain and I will try to keep this library as light as possible but also, useful with main functions for interacting with Steem blockchain. I believe having more tools will help grow use cases of Steem blockchain.

Many features, like getting posts and accounts are easy to implement with basic api calls. But serializing and signing transactions are a little bit complex to be implemented. That's why I decided to prepare another post about it and explain as much as I can.

Let's hope and work for a better future for the people in the World and on the Steem blockchain ❤

And remember, you can vote for mahdiyari as a witness

Sort:  

I love how this is a minimal, yet complete, Javascript library for Steem. It is very similar to how I would design a Javascript library if we were to move away from steem-js and dsteem. Great job! I hope it gains traction.

I love it! This looks great!

Steem is the present and future of crypto and web3.0
$trdo

Posted using Partiko Android

Congratulations @pandaparker, you successfuly trended the post shared by @mahdiyari!
@mahdiyari will receive 0.15870938 TRDO & @pandaparker will get 0.10580625 TRDO curation in 3 Days from Post Created Date!

"Call TRDO, Your Comment Worth Something!"

To view or trade TRDO go to steem-engine.com
Join TRDO Discord Channel or Join TRDO Web Site

the code looks perfect to me

Somewhat echoing the comments of @vandeberg, I'd love to see similar minimal yet complete Steem libraries for other popular languages.

good stuff man

Neat :) @tipu curate

At the first look it seems pretty good! 💪

Bookmarking this for later! Thanks. !steem2email

Emailed 👌


Powered by witness untersatz!

Right when I'm starting to look at developing an Android app. What timing!

looks helpful!

thanks for making & releasing this, it'll for sure be useful for lots of us :^)

can't even understand it, but still love it

You have my witness vote too ;)
@untersatz curate 100

This post has been upvoted by witness @untersatz. You've done a great job!
The @untersatz witness and manual curation is under the guidance of @contrabourdon and @organduo.
Current VP: 88.39%

Thank you

Great job!!!!

looks great..... love it...😍

WOW glad to se you getting upvotes from non bid bots . ocdb won! this is crazy cool to see developers getting funded this much at 15 cent steem! ,

i hope to see this formlized this into a develoepr wps, just for developers, i can use SQRL and get us a token and our own proposal system, like imagine , giuthub inside vessel wallet sort of thing :D ok man im so tired g2g but good job!

@mahdiyari id like to recruit you to work with telos community, not to take you away from steem just to enhance it... please come check out https://t.me/hellotelos id love to gfet your helpo with cross chain work, telos is a land of opportunity and IBC i can help steem with telos and this is great stuff i will send u 1 TLOSP right now with @banjo bot by inertia :0

Thank you
but, I usually work for myself

well thats what im talking about.... you would make your own proposals and get funding on telos...

Congratulations @mahdiyari!
Your post was mentioned in the Steem Hit Parade in the following category:

  • Pending payout - Ranked 1 with $ 102,37

Congratulations, this post is now Featured on steemit.com and was tweeted by @steemit to over 100,000 followers! Thanks for your valuable contribution to the Steem ecosystem!

Nice post man! :D

I'm planning to join dtube and I think it's an interesting app. There are particular tags where your videos can be shared with, I'm planning to add more of these tags in my videos and you can try it too, it will help your video to be generated with the right audience or people and it's going to be fun. Best of luck to you and me too.

c2b50a1990874427d40ded688bec40d4

Good writing.

Very good javacrib

wow, it's hot !

i love it.😍😍

Yes i do

to ppl readin i havent tested it

but steem can use some interesting

he's also not my friend he downvoted me, but

saving the sinking ship is always a good idea if you wanna stay on it

its okay

my next target would be

"being able to downvote patrice IF I CHOSE TO DO SO "

we cool

Thanks @mahdiyari for sharing this info!

Posted using Partiko Android

Perfect, it looks great !!

Best post on the blockchain right now! This is where everybody with investment (SP) should upvote right now. This post will pillage all the small posts with under $10 payout, for even greater returns for all curators. Get your upvotes in now!! #NewSteem #HF21

@mahdiyari, These efforts are really appreciable. An Ecosystem which have diversified Alternatives performs very flexibly and developers like you definitely deserve appreciation and recognition.

Good wishes from my side and have a successful journey ahead. Stay blessed.

Posted using Partiko Android

Congratulations @mahdiyari, your post successfully recieved 0.15870938 TRDO from below listed TRENDO callers:

@pandaparker earned : 0.10580625 TRDO curation


To view or trade TRDO go to steem-engine.com
Join TRDO Discord Channel or Join TRDO Web Site

Thanks for the post.

Amazing!! 🤪🤪

Blockchain way

very good poste and i would like to tell you that this information that you have shared with us is really important information and i hope you share this important things with regards to ''steem''

please follow me

Posted using Partiko Android

★★★★★
Get up to 1 BCH, 1 LTC per week

▪️Legit, Auto withdraw direct wallet
▪️No investment needed
▪️No Scam
▪️No Ads
▪️No Captcha

BCH Install now https://t.co/uODZP0sxXu

LTC Install now https://t.co/tFCdKlJYqV

Posted using Partiko Android

Put your transfers inside operations array in the first code snippet just like vote operation
also https://developers.steem.io/apidefinitions/broadcast-ops#broadcast_ops_transfer may help