Meu autovoter em JS para o blurt

in blurt •  16 days ago 

Modifiquei um codigo de seguir votos de outro, e fiz um autovoter.

Para instalar: $ npm install @blurtfoundation/blurtjs --save

Salvar o codigo baixo como blurtvote.js e modificar o username em var voter = 'username'; com seu usuario, e trocar o password em var wif = 'password'; com sua posting key.

Adicionar contas que você quer da votos toda vez que postam: let contas = ['bgo', 'nome2', 'nome3'];sempre separado por virgula.

agora é só rodar usando no terminal: node blurtvote.js

Provavelmente tem bugs, mas ele vota depois de 5 minutos.

var blurt = require("@blurtfoundation/blurtjs");

var votingPower = 100;
//get transactions from head block
blurt.api.streamTransactions('head', function(err, result) {
  //console.log(result.block_num + ' '+ JSON.stringify(result) );

  let txType = result.operations[0][0]  // checar se é comment
  let txData = result.operations[0][1]  // author and  nao ter parent_author
  let includesVotes = checkBlockForVote(txType,txData)
  if (includesVotes) {
    console.log('POST FOUND: ', txData)
  }
});

function checkBlockForVote(txType,txData) {

  // accounts to vote
  let contas = ['bgo', 'nome2', 'nome3'];

  if(dadosArray[0] != null && dadosArray[0].dataDeArmazenamento <= Date.now() ){
      console.log("votando " + JSON.stringify(dadosArray[0]));
      upvote(dadosArray[0].dado);
      dadosArray.shift();
  }
  //console.log( txData)
  // 'comment' filtra somente postagens e o parent_author nullo é para não votar em comentario
  if (txType == 'comment' && txData.parent_author == ''){
    if( contas.includes(txData.author) ) {
      //console.log('POST: ', txData)
      //console.log('Votado em ' + txData.author + 'tipo' + txType)
      armazenarDado(txData);
      //upvote(txData)

      //console.log(dadosArray);
    }
  }
}
function upvote(txData){
  console.log('Upvoting... autor ' + txData.author + " link " + txData.permlink );
  //You account name
  var voter = 'username';
  //Your account private posting key
  var wif = 'password';
  var author = txData.author
  var permlink = txData.permlink
  //Change weight 100% vote = 10000; if you use txData.weight it will upvote with same voting weight as "followed" voter.
  var weight = 10000
  //Broadcast vote to blockchain
  checkvotingpower([voter])
  if (votingPower > 80){
    blurt.broadcast.vote(wif,voter,author,permlink,weight,console.log)
  }
 }

function checkvotingpower(conta){
  blurt.api.getAccounts(conta,function (err, response) {
      votingPower = response[0].voting_power / 100;
      console.log(err, votingPower);
    },
  );
}

let dadosArray = []; // Array para armazenar os dados
//let cooldownTempo = 5 * 60 * 1000; // 5 minutos em milissegundos (300000)

function armazenarDado(dado) {
  // Armazenar o dado no array junto com a data de armazenamento
  dadosArray.push({
    dado: dado,
    dataDeArmazenamento: Date.now() + 300000
  });
  console.log(`Dado "${dado}" armazenado.`);
}
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!