Blockchain Tools for Voting Among Small Groups?

I am considering starting a new co-op based business. Since the business will be member-owned, it would be nice to launch the business with a voting tool. I want to be able to propose items to the co-op members and have them vote through a transparent system. I understand that there are efforts to use the blockchain (or blockchain-esque tools) to handle voting. But all of the ones I can find are for large scale efforts (like BitCongress).

Are there any blockchain tools/approaches that can handle voting for small-ish groups? Ideally it would:

  1. Handle voting from 300-400 people
  2. Be able to be deployed on my own server (not a cloud-based solution)
  3. Be simple to use for people that may or may not have previous BTC/blockchain experience

I should also add that I have the coding skills to develop my own blockchain voting tool. So if there is no OOTB solution for what I need, I’d appreciate links to whitepapers or other documentation that outlines approaches to a blockchain voting scheme.

All help is welcome.

A question on CNode class data members

Can any expert help me understand the need for the following members of CNode in src/net.h

std::deque<CSerializeData> vSendMsg;
std::deque<CInv> vRecvGetData;
std::deque<CNetMessage> vRecvMsg;

If I understand the source code correct, vRecvMsg is for storing the input messages and vSendMsg is a queue for output messages.

  • Why do we have different form of queues [i.e. CNetMessage and CSerializeData] for input and output?
  • What is the purpose of vRevGetData? Can you please help me understand also the concept behind the usage of this ?

Why is my bitcoind daemon not listening on RPC port at 8332?

I have read a similar post which had no answer at this location. I am trying to use bitcoin-cli from a host that different from the host that runs bitcoind. I also would be happy with being able to use curl to issue rpc requests. I have had much success with getting bitcoind and bitcoin-cli to communicate within the same host, but activating the rpc port for external communication has proven to be beyond difficult if not impossible, and I am seeking your help.

I have started bitcoind with the following configuration file:


(Note, the password will be changed after the system is working)

I have confirmed that the system is functioning on the local machine using bitcoin-cli to get the following:

    "version" : 110200,
    "protocolversion" : 70002,
    "blocks" : 183745,
    "timeoffset" : -1,
    "connections" : 8,
    "proxy" : "",
    "difficulty" : 1583177.84744401,
    "testnet" : false,
    "paytxfee" : 0.00000000,
    "relayfee" : 0.00005000,
    "errors" : ""

And from another host on the network, I have used nmap to scan the ports to display:

Starting Nmap 6.47 ( ) at 2015-12-19 15:20 PST
Nmap scan report for (
Host is up (0.0014s latency).
Not shown: 997 closed ports
22/tcp   open  ssh
80/tcp   open  http
8333/tcp open  unknown

In the question referenced above, the user was able to cause the rpc port to open by removing the rpcallow lines from his configuration file. He commented them out, and the problem fixed itself. I have also tried this and not had any luck.

I also have tried using rpcallow of ‘192.168.1.*’, ‘’, ‘’ and once tried using rpcbind, which appears to be related to an older version of bitcoind as it is no longer listed in the man pages for bitcoin.conf.

My system is running the following OS:

Distributor ID: Ubuntu
Description:    Ubuntu 15.10
Release:    15.10
Codename:   wily

Any and all help is appreciated! Kind regards, and thank you.

Solo mining without a pool?

Is it necessary to run a “full node” including port forwarding in order to solo mine Bitcoin without any involvement of a pool?
I see that pools are offering solo mining as an option, but why would I trust them to not take my 25 BTC?
I am willing to free up 30GB for the blockchain data on my hard drive.

Any Innovations in altcoin tech for Bitcoin’s Script language?

Bitcoin’s Script is the forth-like, non-Turing complete language used for transactions. However, in practice, a very limited number of kinds of scripts are allowed, a number of opcodes have been disabled, and even a number of bugs in script have to be replicated to maintain consensus.

Have there been any innovations by the altcoin community, in their forks of Bitcoin’s Script? Any with non-secp256k1 crypto? Any with more functional bignum / arbitrary integer functionality that can do cryptographic primitives? Any that add Turing complete functionality?

How to understand Bitcoin source code

I am not a C++ pro. I read C++ as a part of my undergrad school course. I am very passionate about the future currency i.e. Bitcoin.

But I don’t understand the source code structure. How to read the source code? As I already told I am have very basic knowledge of C++.

However, I can google on the way if don’t understand something(functions, libraries, headers).

The actual problem I am facing is inside src/ directory. I don’t understand the flow of files and directories in src/. Which is the first file that I should probably start reading. Can any one explain me all of flow of all the project in some sort of tree like structure?

❯ ls                                                                   ✔ master     coincontrol.h       miner.h         script
Makefile.bench.include  coins.cpp       net.cpp         secp256k1
Makefile.qt.include coins.h         net.h           serialize.h
Makefile.qttest.include compat          netbase.cpp     streams.h
Makefile.test.include   compat.h        netbase.h       support
addrman.cpp     compressor.cpp      noui.cpp        sync.cpp
addrman.h       compressor.h        noui.h          sync.h
alert.cpp       config          obj         test
alert.h         consensus       obj-test        threadsafety.h
amount.cpp      core_io.h       policy          timedata.cpp
amount.h        core_memusage.h     pow.cpp         timedata.h
arith_uint256.cpp   core_read.cpp       pow.h           tinyformat.h
arith_uint256.h     core_write.cpp      prevector.h     torcontrol.cpp
base58.cpp      crypto          primitives      torcontrol.h
base58.h        dbwrapper.cpp       protocol.cpp        txdb.cpp
bench           dbwrapper.h     protocol.h      txdb.h
bitcoin-cli-res.rc  hash.cpp        pubkey.cpp      txmempool.cpp
bitcoin-cli.cpp     hash.h          pubkey.h        txmempool.h
bitcoin-tx-res.rc   httprpc.cpp     qt          ui_interface.h
bitcoin-tx.cpp      httprpc.h       random.cpp      uint256.cpp
bitcoind-res.rc     httpserver.cpp      random.h        uint256.h
bitcoind.cpp        httpserver.h        rest.cpp        undo.h
bloom.cpp       init.cpp        reverselock.h       univalue
bloom.h         init.h          rpcblockchain.cpp   util.cpp
chain.cpp       key.cpp         rpcclient.cpp       util.h
chain.h         key.h           rpcclient.h     utilmoneystr.cpp
chainparams.cpp     keystore.cpp        rpcmining.cpp       utilmoneystr.h
chainparams.h       keystore.h      rpcmisc.cpp     utilstrencodings.cpp
chainparamsbase.cpp leveldb         rpcnet.cpp      utilstrencodings.h
chainparamsbase.h   limitedmap.h        rpcprotocol.cpp     utiltime.cpp
chainparamsseeds.h  main.cpp        rpcprotocol.h       utiltime.h
checkpoints.cpp     main.h          rpcrawtransaction.cpp   validationinterface.cpp
checkpoints.h       memusage.h      rpcserver.cpp       validationinterface.h
checkqueue.h        merkleblock.cpp     rpcserver.h     version.h
clientversion.cpp   merkleblock.h       scheduler.cpp       wallet
clientversion.h     miner.cpp       scheduler.h     zmq

ubuntu usb drivers to run bfgminer

Been racking the brain forever, ubuntu noob, but wiped W7 for Ubuntu, updated and upgraded, checked out bfgminer and cgminer, both when running good .bat file with good pool, but they say no device?

Adding zus:all or just all or just auto wont add the X3 Thunder I attached via USB to the laptop? I have had issues another laptop like this and had to use a special driver.

Any ideas or directions are greatly appreciated. Also I’m not against either cgminer or bfgminer, but id like to get one working on this ubuntu laptop at this point, I have a device that should be hashing and i cannot get working.