Broadcast the voting transaction using multisignature - Steem Js Library.

in Steem Dev3 months ago

Hello Steemians,

how to design like.png

Steem is a unique decentralized platform that enabling content creation and curation. It relies on a voting system.

In this post, we will discuss on implemenation of vote broadcasting transaction using multisignature with Steem JS Library. The integration of multisignature functionality using the Steem JS Library is a significant step in making voting transactions on the Steem blockchain more secure and transparent.

lets developers boost the security and transparency of these votes through multisignature functionality.

Multisignature is a way to require multiple private keys to authorize a transaction. In steemit for Multisign vote broascasting needs approval from a set number of private keys that linked to different accounts.

The Steem JS is useful Library for developers using JavaScript to interact with the Steem blockchain.

Here's a simplified overview of how multisignature voting transactions are done using the Steem JS Library.

First of all Make sure each account has the authority to sign transactions.

Next step is collecting Signatures. request signatures from designated accounts. Each account will signs using its private key. Combine signed transactions into a multisignature transaction will done using steem js library.

const account1 = {
    account: 'username of voter',
    key: 'private posting key of voter',
};  

const account2 = {
    account: 'username of voter',
    key: 'private posting key of voter',
};


const author = username;
const permlink = perm;

const voteOperation1 = {
        voter: account1.account,
        author: author,
        permlink: permlink,
        weight: 10000, //(100% vote)
    };

const voteOperation2 = {
        voter: account2.account,
        author: author,
        permlink: permlink,
        weight: 10000, //(100% vote)
    };

const multisigTransaction = [
        ['vote', voteOperation1],
        ['vote', voteOperation2],
    ];

try {
steem.broadcast.send({
operations: multisigTransaction,
extensions: [],},
[account1.key, account2.key],  
(err, result) => {
if (err) {
console.log('multisignature transaction failed:' , err);
} else {
console.log('Multisign transaction successful:', result);
}
});
} catch (error) {
console.log('Process Failed:', error);
}




Please cast witness vote to bangla.Witness or set proxy to rme.

_
Vote bangla.witness as witness
Set Proxy rme as proxy

Special Thanks.

Cc: @rme
Cc: @hungry-griffin
Cc: @steemcurator01
Cc: @steemchiller
Cc: @pennsif

Thanks for giving your precious time to my post.
Follow | Upvote | Share | Comments
Follow me on Instagram.
Instagram

🆃🅷🅰️🅽🅺 🆈🅾️🆄

Sort:  
 3 months ago 

This is very important for multisig accounts that created with the multisig feature from pennsif and team.
But, and this is the key question, how are the signatures from different accounts collected? Users rarely sit together at one PC.
Unfortunately, the multisig feature is not developed to the point where other transactions are also possible. Your post goes in the right direction, but ends before the most important point.

 3 months ago (edited)

There are two different method for multisign broadcasting. One is to curate a new account on the base of merging the existing account into single entity.

But this method is using by involving the multiple existing accounts with their individual private posting keys collaborating to create a multisignature transaction for voting on a specific post. This process does not generate a new account with new keys but instead utilizes the existing accounts to collectively sign and broadcast the transaction.

In this approach:

  1. Each curation account contributes its private posting key to the multisignature transaction.
  2. The multisignature transaction is constructed by combining the individual vote operations from each account.
  3. The finalized multisignature transaction is broadcasted to the blockchain.

This method allows existing curation accounts to collaborate securely without creating a new entity. It is a way for multiple accounts to work together for specific actions, such as voting, while maintaining the independence of each account and their respective private keys.

GUI:

Screenshot_20240206-092134~2.png

You have given a good understanding here about broadcasting voting transactions by the use of multi-signature Steem Js library.
It is a source of learning for all those that want to learn about such kind of innovations and developments ...

Good luck in your steemit journey 🌹

 3 months ago (edited)

Thanks for giving your precious time on my post.

Always welcome 🤗
Keep growing 💗

This post has been featured in the latest edition of Steem News...

This post has been featured in the latest edition of Steem News...

Coin Marketplace

STEEM 0.27
TRX 0.12
JST 0.032
BTC 65619.31
ETH 2950.59
USDT 1.00
SBD 3.73