Building on Ethereum: Part 7 – Client to Contract Communications

In this series, I’m discussing the phases of a project encompassing a non-trivial set of Ethereum smart contracts and the React/Redux application that communicates with them.  The project, called In-App Pro Shop, aims to help Ethereum developers easily support in-app purchases as ERC-721 Non-fungible Tokens (NFTs). Part 1 – Decisions Part 2 – Functionality Part 3 – Setup and Read More …

Building on Ethereum: Part 6 – Bootstrapping the Client

In this series, I’m discussing the phases of a project encompassing a non-trivial set of Ethereum smart contracts and the React/Redux application that communicates with them.  The project, called In-App Pro Shop, aims to help Ethereum developers easily support in-app purchases as ERC-721 Non-fungible Tokens (NFTs). Part 1 – Decisions Part 2 – Functionality Part 3 – Setup and Read More …

Building on Ethereum: Part 5 – Writing Tests

In this series, I’m discussing the phases of a project encompassing a non-trivial set of Ethereum smart contracts and the React/Redux application that communicates with them.  The project, called In-App Pro Shop, aims to help Ethereum developers easily support in-app purchases as ERC-721 Non-fungible Tokens (NFTs). Part 1 – Decisions Part 2 – Functionality Part 3 – Setup and Read More …

Building on Ethereum: Part 3 – Setup and Test

In this series, I’m discussing the phases of a project encompassing a non-trivial set of Ethereum smart contracts and the React/Redux application that communicates with them.  The project, called In-App Pro Shop, aims to help Ethereum developers easily support in-app purchases as ERC-721 Non-fungible Tokens (NFTs). Part 1 – Decisions Part 2 – Functionality Part 3 – Setup and Read More …

Building on Ethereum: Part 2 – Functionality

In this series, I’m discussing the phases of a project encompassing a non-trivial set of Ethereum smart contracts and the React/Redux application that communicates with them.  The project, called In-App Pro Shop, aims to help Ethereum developers easily support in-app purchases as ERC-721 Non-fungible Tokens (NFTs). Part 1 – Decisions Part 2 – Functionality Part 3 – Setup and Read More …

Modeling Domain Entities with Universal JavaScript

Entities are the crown jewels of any application. All of those thousands of lines of client and server code have but one purpose: To persist, present, and allow the user to manipulate instances of domain model entities. Give your entities the respect they deserve. Once you’ve worked out what they are for your domain, building and Read More …

Using Firebase Cloud Functions to Manage a Compound Key Index

In Firebase, Google’s ‘NoSQL’ database, you can declare indexing by any of a node’s children in order to optimize retrieval by that field. For instance, under a node called ‘artists’ where the keys are the artist’s ‘uid’ and the values are artist objects, the default indexing is by uid. While you could retrieve the Read More …

Testing with Jasmine and Async/Await

Today, I wanted to write some integration tests against a Firebase database using Jasmine. Connecting to Firebase from Node is just as easy as it is from a browser. I’ve done it before on a previous version of the Firebase SDK, so I didn’t expect a lot of problems there. It was really Read More …

Page Fight

Immerse or Die is a tough-love book review project begun by Canadian author and editor Jefferson Smith. Page Fight, this reader-reaction companion app, is a collaboration between Jefferson and myself. He was the consulting editor for my first novel, and came up with the idea for the project. Together, we’ve spent a lot of time thinking about Read More …