[ANN] Peerbox project

#101

[quote=“mhps, post:100, topic:2485”]Some data point: when there are 35 connection the load average is 0.40, 0.44, 0.48 and CPU 23% Mem 20%

Strangely I set maxconnections=20 in ppcoin.conf. Why do I get 35 even 37 connections?

ps. the keypoolsize is sometimes 101 sometimes 102 while there is no transaction going on. Has anyone seen this?[/quote]

Possibly maxconnection is not hard cap, but some arbitrary number which should not be crossed in most of situations.
This is something defined in ppcoind, not related to Peerbox.

The same thing applies to keypoolsize probably.

#102

+1

#103

+1[/quote]

  1. Follow the top post to get peerbox running
  2. use systemctl stop ppcoind to stop the server, copy a wallet with Peercoin in it to /var/lib/ppcoind. Make sure the owner of the wallet file is ppcoind and permission is 600 (e.g. sudo chown ppcoind /var/lib/ppcoind/wallet.dat then sudo chmod 600 /var/lib/ppcoind/wallet.dat ) Use systemctl start ppcoind to start the server again.
  3. after 15-20min, after the server is ready to take commands, check if you can see the coins using command peerbox-info
  4. type ppcoind walletpassphrase YOUR_PASSPHRASE_FOR_THE_ENCRYPTED_WALLET 9999999999 true to start minting.

edit: changed 999999 to 9999999999

#104

999999 is seconds?
is 11.5740625 days, maybe it is not enough

#105

[quote=“irritant, post:104, topic:2485”]999999 is seconds?
is 11.5740625 days, maybe it is not enough[/quote]

99…9 is number of seconds. I don’t know if too many 9s can cause overflow.

OK I just tried. 10 9s is still good. So the command is

ppcoind walletpassphrase YOUR_PASSPHRASE_FOR_THE_ENCRYPTED_WALLET 9999999999 true

See you in 300 years ;D

#106

+1[/quote]

  1. Follow the top post to get peerbox running
  2. use systemctl stop ppcoind to stop the server, copy a wallet with Peercoin in it to /var/lib/ppcoind. Make sure the owner of the wallet file is ppcoind and permission is 600 (e.g. sudo chown ppcoind /var/lib/ppcoind/wallet.dat then sudo chmod 600 /var/lib/ppcoind/wallet.dat ) Use systemctl start ppcoind to start the server again.
  3. after 15-20min, after the server is ready to take commands, check if you can see the coins using command peerbox-info
  4. type [code]ppcoind walletpassphra[quote=“mhps, post:103, topic:2485”][quote=“hZti, post:102, topic:2485”][quote=“cryptog1, post:99, topic:2485”]Anyone knows a step by step procedure about how to mint peercoins on Peerbox?[/quote]

+1[/quote]

  1. Follow the top post to get peerbox running
  2. use systemctl stop ppcoind to stop the server, copy a wallet with Peercoin in it to /var/lib/ppcoind. Make sure the owner of the wallet file is ppcoind and permission is 600 (e.g. sudo chown ppcoind /var/lib/ppcoind/wallet.dat then sudo chmod 600 /var/lib/ppcoind/wallet.dat ) Use systemctl start ppcoind to start the server again.
  3. after 15-20min, after the server is ready to take commands, check if you can see the coins using command peerbox-info
  4. type ppcoind walletpassphrase YOUR_PASSPHRASE_FOR_THE_ENCRYPTED_WALLET 999999 true to start minting.[/quote]se YOUR_PASSPHRASE_FOR_THE_ENCRYPTED_WALLET 999999 true[/code] to start minting.[/quote]

Tks!

#107

Little late but installed this THING and I love it, great work peerchemist.

My MicroSD has 1967128576 bytes, your image 2002780160 bytes - I had to cut few MBs from last partition.

#108

I am thinking how to make peerbox plug-and-play for people who are not very technical.

I think the steps could be

  1. buy a pre-made peerbox from a secure source (or buy a blank Ras-pi and install peerbox image if one can handle that)

  2. Connect power and ethernet cable with DHCP enabled. Done with instalingl a node with an empty wallet.

  3. Plug in a usb-key with a wallet in it. Count to 10. Remove the key. Done with intalling a minting peerbox.

  4. Plug in a usb-key without a wallet in the key. Wait for a minute. Remove the key. You will have a copy of peerbox’ wallet in the key.

The thrid step allows the wallet to be copied to local file system.

The question is how to enter the passphrase, if the wallet is encrypted. Maybe the passphrase can be in a file in the usb key. Peerbox reads it, starts minting, then securely erases it. The usb key is now a key to turn on minting.

When in the fourth step, the passphrase file can also be used. The copying process is actually the peerbox making a backup wallet on the usb key using the passphrase file. The passphrase file is securely erased after use. Note that if one has access to the peerbox, one has access to the SD card hence the wallet. So having to have the passphrase to get a copy of the wallet file isn’t a big security enhancement.

Step 3) and 4) can be key based so one don’t have to deal with a wallet at all:

3a) Plug in a usb-key to a peerbox running with an empty wallet, wait for a minute. Remove the key. You will have a file with an empty peercoin address and its private key. Optionally if the usb key has a passphrase.txt file in it, the peerbox wallet now is encrypted with the passphrase, and the private key on the usb key is encrypted with the passphrase.

3b) Transfer fund to the address (e.g. from an exchange). Done with intalling a minting peerbox.

4a) To access the fund in the peerbox, similar to 3a, plug in a usb-key without a wallet in the key. Wait for a minute. Remove the key. You will have a file with the address and its private key of all addresses that has unspent outputs, plus that of one empty address. If the wallet is encrypted, a passphrase file has to be provided on the usb key, and the private keys are encrypted with the passphrase.

#109

I think just the peerbox as a single product is not worth dealing with the hassle of international shipment, consumer rights, costums and so on.
We would need an existing online shop with international shipment experience, who would distribute such a specialized r-pi.

Does anybody know someone :D?

In the meantime a step by step video tutorial for setting up the peerbox should help. I could make one, if anybody want’s it :slight_smile:

#110

I think just the peerbox as a single product is not worth dealing with the hassle of international shipment, consumer rights, costums and so on.
We would need an existing online shop with international shipment experience, who would distribute such a specialized r-pi.[/quote]

I have seen many online shops shipping Ras-pi kits. A Plug-n-play peerbox is just a Ras-pi kit with a peerbox SD card installed.

In the meantime a step by step video tutorial for setting up the peerbox should help. I could make one, if anybody want's it :)

Right. Put the video on the PnP peerbox and play it via the video port automatically upon start up, until ppcoind is up and running.

Seriously, though. I’d wait peerbox to become more stable before presenting it to non-technical folks.

#111

Yep, no need to hurry :slight_smile:

#112

mhps - Thanks for laying out a “plug-and-play” framework. Even though I’m afraid the steps you’ve listed are still way too complicated for 95% of the people to whom I’d eventually like to give a “Peerbox” for Christmas, I do think a packaged step-wise intro video is great intermediate goal.

Fortunately, I also believe there are really only two additional developments needed before real mass distribution is possible:

[ol][li]Deterministic wallet[/li]
[li]Secure http interface[/li][/ol]
With these two additions, Peerbox could literally start minting “out-of-the box” after simply sending the wallet a “parent key” through the http interface from any computer/phone/device on the local network. (Of course, plugging in a keyboard and display would always be an option as well.)

I suppose that the http interface is vulnerable to malware or MitM infiltrating the LAN during the transfer of the “parent key” but perhaps Peerboxes could eventually generate a unique SSL certificate which could be transferred directly from the SD card. Regrettably, since I still don’t have my own Ras-pi to play with, I can only speak conceptually… sorry if that puts me way off the mark!

#113

[quote=“kac-, post:107, topic:2485”]Little late but installed this THING and I love it, great work peerchemist.

My MicroSD has 1967128576 bytes, your image 2002780160 bytes - I had to cut few MBs from last partition.[/quote]

Okay, I’ll cut next image down to 18000XXXXbytes just to make sure.

[quote=“mhps, post:108, topic:2485”]I am thinking how to make peerbox plug-and-play for people who are not very technical.

I think the steps could be

  1. buy a pre-made peerbox from a secure source (or buy a blank Ras-pi and install peerbox image if one can handle that)

  2. Connect power and ethernet cable with DHCP enabled. Done with instalingl a node with an empty wallet.

  3. Plug in a usb-key with a wallet in it. Count to 10. Remove the key. Done with intalling a minting peerbox.

  4. Plug in a usb-key without a wallet in the key. Wait for a minute. Remove the key. You will have a copy of peerbox’ wallet in the key.

The thrid step allows the wallet to be copied to local file system.

The question is how to enter the passphrase, if the wallet is encrypted. Maybe the passphrase can be in a file in the usb key. Peerbox reads it, starts minting, then securely erases it. The usb key is now a key to turn on minting.

When in the fourth step, the passphrase file can also be used. The copying process is actually the peerbox making a backup wallet on the usb key using the passphrase file. The passphrase file is securely erased after use. Note that if one has access to the peerbox, one has access to the SD card hence the wallet. So having to have the passphrase to get a copy of the wallet file isn’t a big security enhancement.

Step 3) and 4) can be key based so one don’t have to deal with a wallet at all:

3a) Plug in a usb-key to a peerbox running with an empty wallet, wait for a minute. Remove the key. You will have a file with an empty peercoin address and its private key. Optionally if the usb key has a passphrase.txt file in it, the peerbox wallet now is encrypted with the passphrase, and the private key on the usb key is encrypted with the passphrase.

3b) Transfer fund to the address (e.g. from an exchange). Done with intalling a minting peerbox.

4a) To access the fund in the peerbox, similar to 3a, plug in a usb-key without a wallet in the key. Wait for a minute. Remove the key. You will have a file with the address and its private key of all addresses that has unspent outputs, plus that of one empty address. If the wallet is encrypted, a passphrase file has to be provided on the usb key, and the private keys are encrypted with the passphrase.[/quote]

Thx for thinking about this mhps. Trust me I’m thinking on this and something like it will be implemented, step by step.

[quote=“mhps”]Right. Put the video on the PnP peerbox and play it via the video port automatically upon start up, until ppcoind is up and running.

Seriously, though. I’d wait peerbox to become more stable before presenting it to non-technical folks.[/quote]

Right now upnp is broken in upstream, it does not work right for any bitcoin fork. That is out of my domain.

And yes, please wait until I call it stable.
This early I might to change some stuff so drastically that any tutorial stops working.

Expect more changes in near future, since I can not foresee all bumps on the road as I add features.

I have much of new cool stuff on my work desk, you will see what exactly with next release. I expect maybe more 1 week to complete it.

#114

[quote=“learnmore, post:112, topic:2485”]mhps - Thanks for laying out a “plug-and-play” framework. Even though I’m afraid the steps you’ve listed are still way too complicated for 95% of the people to whom I’d eventually like to give a “Peerbox” for Christmas, I do think a packaged step-wise intro video is great intermediate goal.

Fortunately, I also believe there are really only two additional developments needed before real mass distribution is possible:

[ol][li]Deterministic wallet[/li]
[li]Secure http interface[/li][/ol][/quote]

A http inter face is nice. The user has to know how to findout ip address however. A simplified christmas gift type peerbox could have a few address/QRcode with their privatekeys printed on a sticker shipped with the peerbox.

I am sure you have way more ideas. It’s just fun to chat about possibilities. :)[/list]

#115

Hi guys, just a quick question on my node setup with peerbox on a rasp b+

Is there a limit in the connection number for the clients conncted to my node?

At the moment I have 41 connections and the cpu load still very good at around 50%, just wondering if the number jumps to,let’s say,200 connections, it could make the node quite inefficient I guess.

#116

[quote=“GLock, post:115, topic:2485”]Hi guys, just a quick question on my node setup with peerbox on a rasp b+

Is there a limit in the connection number for the clients conncted to my node?

At the moment I have 41 connections and the cpu load still very good at around 50%, just wondering if the number jumps to,let’s say,200 connections, it could make the node quite inefficient I guess.[/quote]

There is no limit, but expect about 70-80 clients.

You cpu is busy with syncing blockchain, when it is finished it will be <5%.

#117

[quote=“peerchemist, post:116, topic:2485”][quote=“GLock, post:115, topic:2485”]Hi guys, just a quick question on my node setup with peerbox on a rasp b+

Is there a limit in the connection number for the clients conncted to my node?

At the moment I have 41 connections and the cpu load still very good at around 50%, just wondering if the number jumps to,let’s say,200 connections, it could make the node quite inefficient I guess.[/quote]

There is no limit, but expect about 70-80 clients.

You cpu is busy with syncing blockchain, when it is finished it will be <5%.[/quote]

The peerbox has been running for about 20 days now, so I think that the blockchain should have synced already.

Would be useful for the network to setup another Rasp Pi when reached a certain load or connections?

#118

Can you make a screenshot? Run “htop” and make one, post it here… I want to know why is cpu so busy.

There is no need to set up another node so close to each other, nodes are useful only when distributed on wider geographic area.

#119

Not to be too pedantic, but I don’t think this is absolutely true. Presuming that a single node is already saturated with connections, a second linked node could be useful if it was configured to connect to an entirely different set of peers. Of course with the current size of the network and transaction load this is a non-issue, but just for the lulz I’m experimenting with a little personal-use script that communicates connected peers between 2 nodes and tries link different sets of peers. Chaining Peerboxes would be fun to show off to geek friends, but yes, probably never “useful.”

#120