Made in Toronto: CypherPoker.JS v0.5.0 (Ollie)


 Posted on May 31st, 2019

If ever there was a reason I don’t post to TCL as often as I should this would certainly be it. It’s online Texas Hold’em that uses cryptocurrencies like Bitcoin, and its younger cousin Bitcoin Cash, for betting.

You may recognize the project from the link to the right and I’m sure I’d mentioned it in a previous post or two.

One thing that makes CypherPoker.JS truly unique is that it’s peer-to-peer, meaning that players can play directly against one another without any trusted middleman to “deal” the cards, hold buy-ins, and make sure games are played correctly / fairly.

The challenge in peer-to-peer online poker is a lot like playing the game over the phone against someone you don’t really trust and without relying on some other person to conduct the game — let that problem of how that would work percolate on the old noodle for a bit. Spoiler alert: it’s possible using clever math.

The other thing that makes CypherPoker.JS unique is that it’s a white-label software product which simply means that it’s well-documented and built to be altered, re-branded, and re-packaged: one’s very own, online, public and / or private poker room(s). Because it’s peer-to-peer there’s basically no extra hardware or services to invest in (a website is entirely optional), and because the it’s open-source the software is free. I’m sure that there are people out there who would still find a way to complain about the $0 price tag but in all fairness those people are dumb.

This is the second iteration of the project and it uses JavaScript, the popular programming language of web browsers. There’s a bunch of JavaScript behind the scenes right here at TCL too; it’s what makes websites do stuff instead of just sitting there.

But it doesn’t matter if you know anything about JavaScript because I wrote the thing to be used, not (necessarily) admired for its programming elegance.

You can use CypherPoker.JS right in your web browser or you can download an installer for Windows and play that way. Linux and macOS are also supported but since I don’t have any extra computers lying around that run those operating systems you’d need to build the software by hand using my Do-It-Yourself in 5 easy steps! guide.

No Bitcoin? No problem! Just select the “testnet” version of the cryptocurrency for a 100% free alternative.

I mean, really, at this point you have no excuses to not try it out.


I usually do a lengthier post on Medium detailing each new version and in the most recent one I eulogize a dearly departed friend (hence the bracketed homage).

There’s also a dedicated subreddit where you can ask questions or post comments. I love chatting about the project so I promise that there’s literally no question / comment too basic that you could post and that I wouldn’t happily and courteously answer.

Finally, there’s a GitHub repository where the actual project lives:

https://github.com/monicanagent/cypherpoker.js

It comes with a nifty project board where I visually organize the project’s progress:

https://github.com/monicanagent/cypherpoker.js/projects/1

Everything on this board comes from a master list of bugs / tasks:

https://github.com/monicanagent/cypherpoker.js/issues

… which are organized in dated milestones:

https://github.com/monicanagent/cypherpoker.js/milestones

Once a milestone is complete I update the web demo:

https://monicanagent.github.io/cypherpoker.js/demo/web/

… and I add download links for the desktop version of the software:

https://github.com/monicanagent/cypherpoker.js/releases

So, other than the nice pictures and witty prose, is there any reason why you’re still here?

What's on your mind?