Getting Started | Built with Tai | Commands | Architecture | Examples | Configuration | Observability
- We recommend installing Elixir & Erlang with asdf. A tool to manage the versions of multiple runtimes.
- Power of the BEAM Runtime & OTP Distribution - The Soul of Erlang and Elixir (conference talk video 42 mins)
- Elixir syntax, structure & tools
- https://www.learnelixir.tv/episodes (video)
- https://elixirschool.com/en/lessons/basics/basics/ (wiki)
- https://elixir-lang.org/docs.html (official documentation)
- Elixir in Action (book)
- The Little Elixir & OTP Guidebook (book)
- OTP application architecture best practices
- Static analysis & type checking
- https://elixirschool.com/en/lessons/advanced/typespec/ (wiki)
- https://elixirschool.com/en/lessons/specifics/debugging/#dialyxir-and-dialyzer (wiki)
- Chemanalysis: Dialyzing Elixir (conference talk video 38 mins)
- Credo (library)
- Testing
- https://elixirschool.com/en/lessons/basics/testing/ (wiki)
- https://medium.com/very-big-things/towards-maintainable-elixir-testing-b32ac0604b99 (blog)
- Testing Elixir: Effective and Robust Testing for Elixir and its Ecosystem (book)
- Proper (erlang library for property based testing)
- Propcheck (elixir library for property based testing)
- Fun - Erlang: The Movie (10 mins)
- https://github.com/fremantle-industries/tai#install
- https://github.com/fremantle-industries/tai/blob/main/docs/CONFIGURATION.md
- Create or use an existing Elixir client library for the venue. This will help with mocks when testing
- Copy the stub venue adapter, stream supervisor and stream connection for your venue
- Implement the products callback to fetch the list available on the venue
- Implement the stream connection in the stream supervisor to receive real time order book market data
- Implement the accounts and maker/taker fees to retrieve balances stored on the venue
- Implement positions if the venue supports derivatives
- Implement create order to place an order on the venue
- Implement cancel order to cancel a resting order on the venue
- Implement amend order if the venue supports changing an order in place
- Implement amend bulk orders if the venue supports changing multiple orders in place
- Configure the new venue for market data streaming
- Configure the account credentials to receive balances and manage orders