What is Cowboy Erlang?

Overview of new modern HTTP server for Erlang/OTP with many features
24 August 2017   530

Cowboy is a small, fast and modern HTTP server for Erlang/OTP.


  • Cowboy aims to provide a complete HTTP stack in a small code base. It is optimized for low latency and low memory usage, in part because it uses binary strings.
  • Cowboy provides routing capabilities, selectively dispatching requests to handlers written in Erlang.
  • Because it uses Ranch for managing connections, Cowboy can easily be embedded in any other application.
  • Cowboy is clean and well tested Erlang code.

Cowboy aims to provide a complete modern Web stack. This includes HTTP/1.1, HTTP/2, Websocket, Server-Sent Events and Webmachine-based REST.

Cowboy comes with functions for introspection and tracing, enabling developers to know precisely what is happening at any time. Its modular design also easily enable developers to add instrumentation.

According to the developers, Cowboy is a high quality project. It has a small code base, is very efficient (both in latency and memory use) and can easily be embedded in another application.

Cowboy is clean Erlang code. It includes hundreds of tests and its code is fully compliant with the Dialyzer. It is also well documented.

Learn more at Nine Nines.

Aeternity and Erlang unite forces to address blockchain scalability

The partnership will strive to effectively serve billions of potential users
29 January 2018   412

Last week distributed computing platform aeternity partnered with fault-tolerant systems developer Erlang Solutions. Aeternity is going to scale its distributed network with fault-tolerant systems with the assistance of Erlang. It will allow to serve billions of users to further drive the adoption of blockchain technology. In addition to scalability, the partnership aims to address consensus-related mechanisms.

To achieve the scalability, aeternity brings in the concept of “state channels”: because only the people affected by the transaction need to know about it, then the parties instantiate some state on a blockchain and send signed updates to this state between each other. Thus, transactions are conducted as fast as information can travel, and channels stay independent from each other which in turn allow parallel transactions.

Regarding the consensus mechanism, it is a hybrid of Proof-of-Work and Proof-of-Stake: Proof-of-Work determines block-order, while the hybrid algorithm will determine the answers of oracle questions and system variables.

As for Erlang, the blockchain itself, the contract language, the virtual machine, the oracle and governance mechanisms are written in Erlang. The specifics of the language is that it allows to write code that can respond to many requests and doesn’t crash. On top of that, the servers with the highest uptime in the world are based on Erlang.

The launch of main network is scheduled for Q2 of 2018.

The users on Reddit reacted positively on the news about the partnership some gave predictions:

@murt «Aeternity has been one of the best kept secrets in crypto but looks like it's starting to break out now. Will be $1B market cap in no time».

@davidsho1 «That's huge partnership. Erlang solutions processes for billions of users. Possibly biggest news in blockchain period. Too bad noone knows aeternity. Only a matter of time before word gets out. 100$ aeternity on mainnet very likely. This project has enormous potential».

@izroda «AE bull run, important new partnership, what more can you want from a Saturday».