jmjatlanta

jmjatlanta

Matching Engine Requirements

As an academic exercise, I wanted to take on building a matching engine in C++. The purpose here is to iterate through the process of measuring and improving performance. I imagine the initial requirements as naive, with later iterations including…

Bitshares Asset Terminology

The Bitshares Core code distinguishes between assets in the following manner: CORE – A base asset. Only one exists on the chain, and is created within the Genesis Block. On the BitShares mainnet, this is BTS. On the BitShares testnet,…

BitShares Margin Terminology

BitShares has many controls around market pegged assets (MPAs) and their ability to be “shorted into existence.” Some of those fields have long names and difficult to sort out abbreviations. I am hoping to prepare this document to help sort…

Boost Test Command Line Favorites

The BitShares-Core project uses Boost Test features to exercise the product. When starting the test, here are some interesting command line options: –run_test=module/test This will run a specific test. We organize them into modules, that usually match the filename for…

BitShares Testnet Notes

Here are some notes about the BitShares testnet. I just needed a single place to keep these: When syncing from scratch, it will seem to hang with the following message in the default log: 1753845ms th_a application.cpp:569 handle_block ] Got…

HTLC and Wallet Security

As Hash and Time Lock Contracts become more popular, they begin to be seen by the end user. For instance, wallets are now being built with this functionality. And that exposes the user to some unscrupulous actors that could cause…

BitShares TESTNET Binaries

These are version 3.1.0 binaries that connect to the BitShares TESTNET. I compiled these mainly for use by the BUIDL Boston hackathon, but there is nothing special about them. You can build them yourself from source by building the tags…