Peerunity - a wallet and client supporting both Peercoin and Peershares

I am pleased to be able to announce the launch of Peerunity development, your next Peercoin wallet.

Since day one the Peershares specification has included a client (wallet) that would integrate support for Peercoin as well as multiple Peershares instances. While this versatile client has not been scheduled for the initial release of the Peershares template, the Peershares team feels it is time to begin development of this combined Peercoin/Peershares wallet. Accordingly, you can find the code project here: https://github.com/Peerunity/Peerunity

It is a fork of the ppcoin repository. The first two or three releases will not feature support of Peershares. We would like it to be an open and inclusive environment for the broader Peercoin community to improve this Peercoin client. This does not belong to the Peershares team. In recognition of Peershares’ dependence on Peercoin, some development of Peerunity will be sponsored by the Peershares team. We also want to reach out to developers such as irigi, b0netruper, Curve25519, JSmith-BitFlipper, ghost, sengaya, ngbatnicdotmil, ErikDubbelboer, samilaine and especially vpereira who have placed pull requests against ppcoin and say: the Peercoin community is very thankful for your work and we want to cooperate closely with you to refine and test your contributions and get them into the hands of users in the Peercoin community quickly. We encourage all developers considering making a pull request against the ppcoin repository to also make a pull request against Peerunity.

To help faciliate broad community cooperation, a number of trusted Peercoin/Peershares community leaders have write permissions to the repository, meaning they can integrate the code changes into the master copy of the code. These members are Sunny King, Ben, sigmike and myself.

I have said in the past that Peercoin development will be provided and funded by our Peershares team in the future. Today that future arrives. The Peershares project will be funding user interface based minting (aka one button minting) and will also provide Peercoin branding (updating PPCoin branding) for the client in our first Peerunity release. We will also include most of the pull requests currently pending against the ppcoin repository. We want to lock down the code for testing very quickly (in a week or two) and then release very quickly after that, so if you have something you would like to contribute to the first release, please speak up quickly and we will consider your request. One button minting is already in Peerunity (thanks to sigmike and funding from Peershares) and we will be merging ppcoin pull requests in the coming days. Initially we will place changes in master. As the cutoff for feature inclusion arrives, we will branch into 0.5, stabilize the branch through testing for release and simultaneously continue adding additional improvements to master.

The days of slow or nonexistent Peercoin development are over.

This is an excellent development, I could have only dreamt of achieving a real community wallet in the next months at best.

If this doesn’t speed up innovation, I’ll eat my Peercoins :smiley:

Is this the project on Peer4commit: http://peer4commit.com/projects/72 ?
Edit: this is the wider Peershares project. Will there be a specific Peerunity repo on peer4commit?

Not yet, but I would bet we can get sigmike to add it.

Not yet, but I would bet we can get sigmike to add it.[/quote]
Anyone can add it. Just let us know its repo name.
Already in your OP. I can add it for you.

Got excited. Here it is: http://peer4commit.com/projects/74

This is the biggest news announced here in months. We can finally look forward to a more active future where our community is encouraged to contribute rather than being forced to wait on the sidelines. :slight_smile:

Great development project! This project will unity and attract more and more developers. I hope a more active development community around Peercoin build a solid infrastructure.

Thanks for all your contribution.

Fantastic.

Yeah. Make sure the button is checked by default if the wallet is not encrypted because minting “is automatic”.

if you have something you would like to contribute to the first release, please speak up quickly and we will consider your request

Other than branding (nice coin icon, left hand bottom corner)

Would be nice to have another menu screen that has diagnostic information without requiring too much code to calculate.

More of a “stats” or “reporting tool” that basically reads the current wallet.dat and last blockchain.dat file

Wallet running time: 11 days, 22 hours, 13 minutes

Oldest transaction in wallet: 12 PPC, transaction date: Mar 12, 2013 11:58:00 UTC

Current Block Chain Size: 384 Megabytes Current Block #: 139394 (PoW block)

Number of connected Peers: 8

I’ll explain the reason why this is helpful:

  1. This is immediate eye candy to some one who is painstakingly waiting for their next minted bock

  2. It can be “stats all in one place” to give the look and feel that the client is indeed connected to the network and processing things

  3. It can give “at a glance” information without going into the command line console and manually running commands

The reason I thought of this idea, is in the new Bitcoin 0.9 core, they have a new help screen or something in the client that doesn’t really do any thing other than list commands or something. I though it was especially neat even though it brought no new functionality. But it was some thing else the wallet could do…

This would give us some interesting information and who knows what future benefit or troubleshooting could arise later because of it.

If you use Quickbooks and you push “CTRL and 1 key” for example, you can see this:

It shows you the “file path” of the data file, every thing like this… Often when calling tech support they ask you to push CTRL+1 and read some thing off that screen to them over the phone.

I wonder what Sunny thinks of being called slow…just kidding! :stuck_out_tongue: We love you Sunny, but we need to be able to help out too. Peerunity will allow us to actually move forward and gain interest from other talented developers.

I would like to see the ability to have two (or more) wallets in the client. One for the savings and one for spending. This would also prepare you for the integration with peershares I guess.
For companies it would be great to have some sort of wallet authentication. Feel free to have a look in the dreamwallet thread for further inspiration here:
Cryptoblog - notícias sobre bitcoin e criptomoedas!. Might revive that one.

As I said elsewhere, SK development is mission critical (slow), Peerunity is software built by community and tested by community (faster). The next one is the experimental wallet, for those who want to live on the edge (not for daily usage), but the greatest and the latest. BTW the latter haven’t been announced yet :wink:

Oh, I forgot. Coin control. Like shown here. The code is already there.

[quote=“ppcman, post:8, topic:2203”]

if you have something you would like to contribute to the first release, please speak up quickly and we will consider your request

Other than branding (nice coin icon, left hand bottom corner)

Would be nice to have another menu screen that has diagnostic information without requiring too much code to calculate.

More of a “stats” or “reporting tool” that basically reads the current wallet.dat and last blockchain.dat file

Wallet running time: 11 days, 22 hours, 13 minutes

Oldest transaction in wallet: 12 PPC, transaction date: Mar 12, 2013 11:58:00 UTC

Current Block Chain Size: 384 Megabytes Current Block #: 139394 (PoW block)

Number of connected Peers: 8

I’ll explain the reason why this is helpful:

  1. This is immediate eye candy to some one who is painstakingly waiting for their next minted bock

  2. It can be “stats all in one place” to give the look and feel that the client is indeed connected to the network and processing things

  3. It can give “at a glance” information without going into the command line console and manually running commands

The reason I thought of this idea, is in the new Bitcoin 0.9 core, they have a new help screen or something in the client that doesn’t really do any thing other than list commands or something. I though it was especially neat even though it brought no new functionality. But it was some thing else the wallet could do…

This would give us some interesting information and who knows what future benefit or troubleshooting could arise later because of it.

If you use Quickbooks and you push “CTRL and 1 key” for example, you can see this:

It shows you the “file path” of the data file, every thing like this… Often when calling tech support they ask you to push CTRL+1 and read some thing off that screen to them over the phone.[/quote]

Has this sort of thing been implemented in any other coin so we can just pull it in?

This is an excellent idea. Yacoin is a Peercoin fork, so this should be quite easy: just a matter of taking the relevant pull requests against Yacoin and placing them against Peerunity. Lack of coin control is one of two reasons I don’t yet pay other Peershares team members in Peercoins (I still use BTC).

I will definitely pull this into master for our first release if someone makes a pull request. Who is willing to do that?

Take a look at all the commits accumulating in the Peerunity master branch:

There have been 17 commits to master in the three days since we forked from ppcoin. Ben (brossi), b0netruper, glv2 and sigmike have all contributed directly. sigmike has merged 7 pull requests placed against ppcoin, adding contributions from vpereira, ErikDubbelboer, RatkoR, sengaya and JSmith-BitFlipper.

Already Peerunity has been improved by 9 contributors plus funding from Peershares.

Hopefully we will increase that number soon. If you don’t have C++ skills but still want to contribute, you can effectively provide incentive to people who do have C++ skills through Peer4Commit: http://peer4commit.com/projects/74

I’ve merged into Peerunity these changes:

A new menu item in the GUI to unlock the wallet for minting only:

More details here: https://github.com/Peerunity/Peerunity/pull/2

Proper memory cleaning of sensitive data (https://github.com/ppcoin/ppcoin/pull/23 with some fixes)

New “walletnotify” configuration parameter (https://github.com/ppcoin/ppcoin/pull/33)

Added optional transaction details in the “getblock” response: https://github.com/ppcoin/ppcoin/pull/35

Fixed 2 memory leaks: https://github.com/ppcoin/ppcoin/pull/42 and https://github.com/ppcoin/ppcoin/pull/51

OpenSSL upgrade: https://github.com/ppcoin/ppcoin/pull/54

Support for Greek language: https://github.com/ppcoin/ppcoin/pull/55

And yesterday the French locale was updated: https://github.com/Peerunity/Peerunity/pull/1

If you can build the client from source you can try it now by building from this repository: https://github.com/Peerunity/Peerunity

Edit: walletnotify is a configuration parameter, not an RPC command.

I would like to see the ability to have two (or more) wallets in the client. One for the savings and one for spending. This would also prepare you for the integration with peershares I guess.
For companies it would be great to have some sort of wallet authentication. Feel free to have a look in the dreamwallet thread for further inspiration here:
Cryptoblog - notícias sobre bitcoin e criptomoedas!. Might revive that one.[/quote]

Once support for multiple Peershares is added supporting multiple wallets will be relatively simple and is likely to happen eventually. Unless someone wants to take the initiative to add support for multiple wallets first and then adding Peershare wallets will be relatively simple :slight_smile:

There should probably be one button for mining as well.

Nice work!

Just wanted to know, what role will Sunny King play with this wallet ?
I’ve read he’ll have commit access, but will he also review the code to make sure the changes are compatible with main Peercoin client/protocol ?

Mark.

EDIT:
Just compiled the client on linux ( I’m using Gentoo, if there is a need I’m willing to make a patch/commit/pull request ) , had to add this :

-I/usr/include/db4.8

to:

INCPATH

in the Makefile.

but besides that, everything work great.

http://imgur.com/u6zIYTc

Is there anyway we could make the client more flashy? The one thing I hate about the Peercoin client is its appearance, which is completely dull looking. We don’t want to go overboard, but I think something that matches the simplicity of the Peercoin/Peershares logos is in order. It will help spice things up some.