Improving security and accessibility within our technology stack

Currently the team is developing both the new GUI and daemon. Particl is moving away from the classic Bitcoin “Qt” wallet, instead opting to build upon Electron, a full-blown WebEngine. This approach allows us to create a beautiful interface and a standardized API to build extensions upon. The work has already started on bringing the new interface truly alive, from the drawing table to real code (HTML, CSS & JS). The team is using Angular as the main framework.

Wallet Front-end Progress:

We are very excited to share the latest designs for the Particl platform! Note that these are still at a early stage and will definitely change. They should however give you a sense of where we’re heading.

Particl wallet history
Particl wallet modal
Particl wallet widgets overview & responsive

The interface is entirely written in HTML, CSS and Angular. The reason is rather simple: the Qt wallet we “inherited” from Bitcoin Core does not provide the aesthetics and user experience we wish to achieve. So we’re tearing it down completely and building it from the ground up.

We’re replacing it with Electron, an open source project that finds its roots in Chromium. The reasoning will be explained later, but in a nutshell: security is paramount. Electron provides substantial security improvements over QtWebKit by leveraging the Chromium sandbox for rendered processes. If someone is able to leverage a critical exploit within the Chromium rendering engine, then damage is severely limited by the built in sandbox, a feature which the deprecated WebKit terribly lacks.

Front-end: In Progress 🔨

  • Overview (Dashboard)
  • Address page
  • Sidebar

Wallet Back-end Progress:

The daemon includes a number of major changes.

Back-end: Complete 🏁

  • Based on Bitcoin Core 0.14
  • Proof of Stake v3
  • Secure Messaging “SMSG”
  • Stealth Addresses
  • HD Wallet
  • Decentralized Voting

Back-end: in Progress 🔨

  • Confidential Transactions and RingCT

A staggering number that might help to illustrate the amount of work that is going into creating Particl; currently 50,000+ lines of code have been added to the initial Bitcoin Core code base to allow for the above features.

Particl is hiring!

Please join us in welcoming Jason Wallace to the Particl team! Jason is a Full Stack Developer with a Bachelor of Science Honours (BScHons), Computer Science from Stellenbosch University, one of the premier research universities in South Africa.

Jason joined us last week and is helping kewde and crz with the GUI front-end development.

A bit about Jason:

I love building stuff. I like to fully invest myself into projects that I believe in. I have an entrepreneurial spirit with a ‘Big Picture’ kind of mindset. I find myself compelled to act based on opportunity.

Currently my ideal development stack is Ubuntu, Nginx, Postgresql, Python, Django, Angular, and Ionic if on mobile. If I’m not learning, I’m not moving forward.


Interested in helping build Particl?

It is exciting when passion in the community manifests itself in unexpected ways. Whether it’s helping break the testnet, bending tools like Angular and Electron to your will or being really, really good at graphics and writing, our SLACK and RIOT community channels are great places to get involved.