the maximum possible entries a network can accept in RAFT consensus?

Suppose a network of 5 nodes uses RAFT consensus protocol. Each nodes maintains a transactions log which consist of list of log entries. Each log entry again consist of index, term and command. The current log structure which consist of transaction log of all nodes present in the network is as follows –

Transaction log of all nodes

Then the maximum possible committed entries (i.e. the network can accept entries upto that command) are ?

Manage multiple users wallets for web wallet service

This already summaries the issue I’m currently trying to figure out to calculate the transaction fee to prevent negative balance.

(testnet) I tried using createrawtransaction answered.
When I tried to send all balance to an address, the txid was created successfully using createrawtransaction but when I ran the fundrawtranaction on that txid it showed

error code: -4
error message:
Insufficient funds

The goal is to calculate transaction fee before hand to check either sufficient balance is available of an account using sendfrom

To manage multiple users to isolate users’ balances as this.


If using estimatesmartfee it is showing the fee:

bitcoin-cli -testnet estimatesmartfee 6
  "feerate": 0.00501921,
  "blocks": 6

When calling sendfrom for total balance transfer:

bitcoin-cli -testnet sendfrom <account> <address> <amount>
error code: -4
error message:
Error: This transaction requires a transaction fee of at least 0.00067257

Is there a way to get 0.00067257 the fee part before send the transaction amount and set it so that account balance won’t go negative for multi accounts wallet.

Edit 2:

I found out that accounts are deprecated.

And multi wallet creation/load/unload on runtime is underway to 0.17.0

So what would be the best approach to handle multiple users bitcoins in isolation on a full node to prevent negative balance.

How can I get whole info about tranasaction whose outputs are spent?

I use RPC method getrawtransaction to get whole info about transaction. But if I rigth understood It works only for transaction whose contains at least one unspent output.

How can I get whole info about transaction like getrawtransaction provide for transaction whose all outputs are spent or How does blockcypher implement this?
For example this tx:

Is there any python library could be used to decodescript in output

For example decode the ScriptPubKey like


to some data like this

"result": {
    "asm": "04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f OP_CHECKSIG",
    "reqSigs": 1,
    "type": "pubkey",
    "addresses": [
    "p2sh": "3DjjKyU38gSfuVxajV43MUy4vHkg1JVL7T"
"error": null,
"id": null

In general, something like the function in decodescript rpc.

How to recover my funds from electrum wallet with privatekey and redeem script?

Hey I think I know the answer already and I kinda screwed up I think I just want to verify. so I send BTC to my electrum wallet and I forgot the seed. I could not find it. but I have the private key and redeem script. is there any chance to restore or gain access to the funds or do I have to say goodbye for ever? thanks in advance if anyone has an idea otherwise I will have to accept my faith and add a learning experience to my repertoire. thanks in advance.

Wallets with BIP44 support

I’m writing my own implementation of BIP44 wallet.

Can someone please point me to a BIP44 compatible wallet that could import seeds from other wallets. I’ve looked at several and it seems that, at most, they support only BIP39.

Thank you.

Issue with the BitcoinJ for Litecoin. Which dependency can be used for Litecoin?

I’ve created a crypto-currency wallet for Bitcoin using BitcoinJ. Now I want to add Litecoin in this wallet. How to implement BitcoinJ dependency for Litecoin?
While using BitcoinJ for both Litecoin and Bitcoin, I was getting blockchain of Bitcoin for both the addresses. What should I do so that I can get Bicoin blockchain for Bitcoin address and Litecoin blockchain for Litecoin address?

here is dependency which is I used>>>

  implementation 'org.bitcoinj:bitcoinj-core:0.14.7'

here is my code for bitcoin blockchain download initialisation>>>

  public void initWallet() {
    ECKey key;
    String btcpri = 
    if (btcpri.length() == 51 || btcpri.length() == 52) {
        DumpedPrivateKey dumpedPrivateKey = 
        DumpedPrivateKey.fromBase58(params, btcpri);
        key = dumpedPrivateKey.getKey();
    } else {
        BigInteger privKey = Base58.decodeToBigInteger(btcpri);
        key = ECKey.fromPrivate(privKey);
    Log.e("key ", String.valueOf(key));

    kit = new WalletAppKit(params, file, "btc_justbitcoin") {
        protected void onSetupCompleted() {
            Log.e("Address ", 

VPS with 80 GB Space, can’t download the whole blockchain?

I am using an application and WordPress that allows people to pay with Bitcoin in a small multi vendor marketplace for trading hobby items.

The plugin that I’m using is recommending that I run a full Bitcoin node? I don’t think I need to, but how does someone do that with a small SSD?

Can you prune and simultaneously download? Is there a blockchain light I don’t know about.

I don’t want to be running a $60 vps just because of the chain


Trading ERC-20 based token

The 12th of February 2017 numerai gave 1M NMR to 12K users.
NMR is based on ERC-20 (ethereum protocol). I was one of the lucky receivers. A few months later, crypto exchanges started trading with NMR and I sold my share.

In my country, the authorities started taxing cryptos with retrospective effect.

There is one way I can avoid paying tax: If the crypto was worthless or untradeable at the time I received it.

Question: Was it (theoretically) possible for me to trade the NMR at the time I received them (12th of February 2017)? retrieve historic candles data

I am using PHP to retrieve historic candles data from

Above URL gets 300 candles. I would like to know how I can get more or less candles.

In bitfinex I can set the number of candles (up to 1000) using limit parameter like this