SRBMiner-Multi adds support for Talleo

SRBMiner-Multi added initial support for Talleo’s algorithm in version 0.3.0, but it was a dud release that did stop mining with error 0x4002. Version 0.3.1 fixed the error, but still has low performance when mining with CPU due to incorrect detection of usable threads. Thread count should be L3 cache size divided by 256 kB.

How to verify payments using Talleo daemon.

Payments can be verified using payment ID, wallet address and private view key of the wallet.

The steps to verify payments using the RPC JSON API are:

  1. Get current block height using “/getinfo”.
  2. Pass payment ID to “/get_transaction_hashes_by_payment_id” to get list of transaction hashes.
    • If supported by daemon, set startIndex to 0 or first block height to include, and set endIndex to current block height – 10, so it won’t return transactions with less than 10 confirmations, includeUnconfirmed should be set to false.
  3. Iterate through transaction hashes with “/get_transaction_details_by_hashes”.
    • If your daemon doesn’t support filtering by includeUnconfirmed, check for transactions where inBlockchain is true.
    • Verify that unlockTime is positive number less than current block height and that blockIndex is less than current block height – unlockTime.
  4. Check that the blocks containing the transactions are not orphaned using block hashes from step 3 and “/get_blocks_details_by_hashes”.
  5. Using “/get_amounts_for_account” check that the transactions contain enough outputs to the wallet, you need transaction hash, wallet address and private view key.

API update for mining pools

Node daemon (Talleod) version 0.4.6 introduced new field in response to “getblocktemplate” API call. Field “num_transactions” now contain number of transactions included in the block template excluding the coinbase transaction. This can be directly used by mining pool to decide when the current block template might need to be refreshed…

Mining pool can either refresh the block template when the field value changes from 0 to non-zero, or when it changes from one non-zero to any other non-zero value while block height stays the same.

Daemon crashing on sync…

We have noticed Talleod crashing on Linux when it tries to sync with other nodes and one of the received transactions has very high anonymity level. This did cause buffer overflow in transaction validation. As a fix, we are limiting mixin count to maximum of 50.