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.`);
}