And how the modern Web platform’s component model enabled a new kind of editor for WordPress.

Image for post
Image for post

This piece is a repost from an old blog I no longer keep up.

The WordPress community is going through a bit of a renaissance at the moment. The Gutenberg project started with the goal of building a new, visual, user-centric block-based editor. Now it encompasses a broader effort to integrate the past decade’s explosion of Web technologies with WordPress for the goal of setting a new standard for the experience that folks looking to create their place on the Web expect.

Naturally, a…


A recent experiment powered by a new framework package for building real-time collaborative block editors.

This piece is a repost from an old blog I no longer keep up.

Last weekend, I felt like I needed a change of pace from reviewing full-site editing pull requests. Collaborative editing has been something we’ve been toying around with recently, so I decided to go deeper with it. The result was this:

Image for post
Image for post
A new Gutenberg experiment, powered by a new package, block collab.

Why a package?

Gutenberg consists of lots of packages that come together to provide the block editing experience. This architecture not only offers enormous benefits for internal development. …


Image for post
Image for post

At Kleros, we take smart contract security very seriously. Back in the day, there weren’t many automated tools available to help you catch vulnerabilities in your smart contracts. We developed an extensive internal process, and we can proudly say Kleros contracts have never had a vulnerability in production.

Recently, the tooling ecosystem around smart contract security has developed enough for us to take an interest in bringing some of the tools into our processes. …


Image for post
Image for post

Keeping Track of Dynamic Stakes in a Lottery Like Game Can Be Costly in Terms of Computation, If Not Done Right. Let Us Look at a Suitable Approach…

Drawing parties from a set of token holders using random numbers with a likelihood proportional to the amount of tokens they hold is very common in decentralized applications. This is very simple if you only allow adding stake. But, what if you want to make the staked amount freely editable throughout drawing rounds? This is where things get a bit more complicated…

The Naive Approach

The simplest way to implement a system like this would be to create a virtual list that holds stake segments for every address that is participating. …


Image for post
Image for post

This is the second in a series of posts that detail how we went about creating and deploying our Interactive Coin Offering. In the first post, we discussed the reasoning behind the smart contract architecture. In this post, we will share the lessons we learned and some useful patterns that arose from getting the UI ready for production. The code we’ll be talking about is in this repo.

General Architecture and Tech Stack


Image for post
Image for post

By Enrique Piqueras and Clément Lesaege

If you’ve been keeping up with all that’s been happening at Kleros lately, you know that we recently launched the world’s first Interactive Coin Offering.

Interactive Coin Offerings (IICOs) are a new type of Initial Coin Offering (ICO), created by Vitalik Buterin (Ethereum) and Jason Teutsch (Truebit), that implement a set of economic incentives and penalties that level the playing field between participants of all sizes. We wrote an article that explains it in more detail here, in case you are curious. …


Image for post
Image for post

- “It isn’t transparent if you don’t know where & how to look.”

- “It isn’t transparent if it requires a humongous effort to find, see, and verify the data.”

- “It isn’t transparent if 99% of users are deterred from wanting to look.”

- “If it isn’t transparent it can’t be trusted!”

Beltran Berrocal, Web3 Design Principles.

This article really struck a chord with me. Whenever I explain decentralized applications to friends who are curious, it is very hard for them to understand the value in it and how they differ from centralized apps, even more so if they…


Image for post
Image for post

The past month has flown by. A lot of exciting things are happening at Kleros and we are busy preparing for our IICO, but we still wanted to keep you up to date on all of our developments. So here we go.

New API Abstractions and Structure

We have been working hard on a major restructuring of the API. Now that the core functionality is implemented, we wanted to take some time to iron things out to allow us and contributors to work more efficiently in implementing new features. We’ve divided the API into three logical parts:

Contract Wrappers: For dealing directly with contracts and…

Enrique Piqueras

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store