the ShineNet software, and a machine capable of running it (i.e.a USB to Bluetooth adapter (if your laptop is more than ~5 years old).a USB to DB9 M COM serial adapter (if your laptop is less than ~10 years old).a DB9 M/F null modem adapter ($3.16 inc P&P from ebay) and an DB9 M/M gender changer ($1.00 + $0.19 P&P from ebay).a DB9 M/M null modem adapter ($2.49 inc P&P from ebay), and when that doesn’t work, a.a DB9 F RS232 to Bluetooth adapter that’s capable of running off power supplied over pin 9 (USD $59+USD $16 P&P or perhaps this one instead for USD$65+P&P which has a chunky antenna attached to it).a DB9 (9-pin) M/F serial cable ($12 from umart).Mine is a Growatt 3000TL 3kW inverter (or something that looks very similar to it) which was installed as part of my TVS solar panel install, which I’ve gone into in more detail here. What you’ll need in order to do this is: things + things + things = graphs There’s not much in the way of instructions on how to do this on the internet, so here’s how to set it up. So I thought it would be interesting to graph my solar energy using ShineNet, a defunct software package created by Growatt, the manufacturers of the inverter that sits on the side of the house, connecting the panels to my newly-upgraded switchboard. This post is a followup from my earlier entry on the trials and tribulations of getting solar panels hooked up to my house in Red Hill. multisig non-segwit).Īdditional unittests and improvements to comments/docs are also always welcome. If you need ideas on how to contribute, we would enjoy a 3rd backend (Bitcoin-core based, processingĮach block by streaming the entire blockchain) as well as additional wallet types (e.g. We appreciate any pull request which fixes bugs or adds features! Iterate over the transactions and compute the final balance.For each transaction, track whether the output belongs to the wallet and whether.For each transaction, query the backend for the raw transaction.Prune the transaction list to remove transactions newer than the block height.We keep deriving additional addresses until we find a large number of unused addresses. For each address, query the backend for a list of transactions.Derive external (receive) and internal (change) addresses.We use the following process to determine a deterministic wallet's balance at a given block height: We appreciate the ability to cross-compile and distribute static binaries which don't have external dependencies. We picked Go because we wanted an easy build and distribution process. TpubDBrCAXucLxvjC9n9nZGGcYS8pk4X1N97YJmUgdDSwG2p36gbSqeRuytHYCHe2dHxLsV2EchX9ePaFdRwp7cNLrSpnr3PsoPLUQqbvLBDWvhīeancounter is implemented in Go. beancounter compute-balance -type multisig -block-height 1438791 -backend btcd -addr localhost:8334 -rpcuser mia -rpcpass ilovebrownies The benefit is however a higher level of guarantee that the transaction history is accurate. Setting up a Btcd node can take some time (the initial sync takes ~7 days) and requires maintaining the node up-to-date. Btcd is a Bitcoin full node which implements transaction indexes. There is also potential privacy exposure. Using Electrum servers is easiest but requires trusting public servers to return accurate information. The servers are queried for transaction history for specific addresses. When using these servers, Beancounter behaves in a similar fashion to an Electrum client wallet. If you're curious, here's why we decided to write Beancounter in the first place.īeancounter currently supports two types of backends to query the blockchain:Įlectrum public servers. The tool is designed to scale and work for wallets with a large number of addresses or a large number of transactions, with support ranging from simple watch wallets to more complicated multisig + segwit. Beancounter is a command line utility to audit the balance of Hierarchical Deterministic (HD) wallets at a given point in time (or block height).
0 Comments
Leave a Reply. |