Development Update #2–01.31.2019

Over the last two weeks we’ve made significant progress on the Playground, which is almost ready to ship. Expect to see a larger announcement soon, with information about how to get started using it, and how to use it to build your own dapps!

The Counterfactual Playground — Coming Soon!

⚙️ Development updates

GitHub stats: 106 commits, +11,235 -5,642 since our last development update


The Node is at the center of the Counterfactual framework. Each participant in a state channel has their own running Node, similar to how users can run their own Ethereum nodes.

We’ve continued to iterate on the Node’s support for all the Counterfactual protocols required by the Playground UI & Server.

Playground UI

The Playground UI serves as a temporary development, demo, and wallet environment for state channel dapps while we work towards integration with wallets like MetaMask. It provides UI for depositing and withdrawing assets to and from state channels, notifications to users when they’ve been invited into a state channel, and a secure communication layer from dapps to the Node.

Several improvements have been made to the Playground UI including wiring up matchmaking, onboarding improvements and UI polish items.

Playground Server

The Playground Server provides APIs for registering users, creating multi-signature wallets, and acting as an intermediary between users to enable our virtual state channels.

In the past two weeks we’ve made improvements to its architecture as well as added matchmaking APIs to connect Playground users to each other.

Getting Started Guide

As the Playground nears launch, we’ve begun writing a Getting Started Guide for Dapp developers. It will be a tutorial, using Truffle, that shows you, step-by-step, how to write a basic dice game using our CF.js library to handle communication with the Playground Server and the Ethereum blockchain. Game state and state machine transition logic are written in Solidity.

⚙️ Integration updates

We’ve begun working with wallet implementers, like the MetaMask team, to integrate the Counterfactual framework as a plugin. Here’s an early design of what we think that may look like:

MetaMask + Counterfactual — State Channels for everyone!

More coming soon

Stay tuned for more updates soon!

If you’re interested in following along, or getting involved, you can follow on GitHub or talk to us on Discord.