Kujira Dev Playground
building blocks
JavaScript / TypeScript
Elixir
Architecture
INSERT NICE IMAGE OF STACK ^^ Above: Cupcake indexer in progress
GIT Repositories
pond
Pond is an easy way to set up a local Kujira development chain. It uses docker containers to set up two local Kujira chains, price feeder and an IBC relayer connecting both chains.
The second chain is meant to test IBC related things and therefore has only one validator and no price feeder.
https://github.com/Team-Kujira/pond
Feeder: 127.0.0.1:10171->10171/tcp Kujira1-1: 127.0.0.1:10117->10117/tcp, 127.0.0.1:10156-10157->10156-10157/tcp, 127.0.0.1:10190->10190/tcp Kujira2-1: 127.0.0.1:20117->20117/tcp, 127.0.0.1:20156-20157->20156-20157/tcp, 127.0.0.1:20190->20190/tcp
this config worked in https://github.com/Team-Kujira/explorer
config :explorer, Explorer.Node, host: "localhost", port: 10190, websocket: "ws://localhost:10157"
pond-ex
The quickest way to start building your app on the Kujira DeFi Blockchain
https://github.com/Team-Kujira/pond-ex
kujira-ex Docs https://hexdocs.pm/kujira Kujira Developer Docs https://docs.kujira.app/developers/developer-kickstart-page Phoenix Website: https://www.phoenixframework.org/ Phoenix Guides: https://hexdocs.pm/phoenix/overview.html Phoenix Docs: https://hexdocs.pm/phoenix Phoenix Forum: https://elixirforum.com/c/phoenix-forum
https://github.com/Team-Kujira/explorer
FIN API
https://github.com/Team-Kujira/fin-api
pond-images
https://github.com/Team-Kujira/pond-images/blob/main/feeder/Dockerfile
Community Sample Repositories
https://github.com/jpKuji/kujira_walletconnect_js_next
@Developer as part of the Kujira Team's commitment to open-sourcing the core dApps, and building more robust, RPC-free, scalable infrastructure that allows better apps and better UX to be built, we've begun work on the API that we will migrate FIN to.
Instead of making dozens of individual RPC requests, requiring the UI client to determine which RPC it wants to connect to, and partially loading parts of each page at a time etc etc, this API will seek to build out interfaces that are built for the UI itself, and smartly scalable
The first endpoint is available at https://api.fin.kujira.network/api/contracts
The key difference here is that these are officially supported by the Kujira Team. The code is all open source at https://github.com/Team-Kujira/fin-api, so if it suits your needs for a FIN-related project, then it makes it super easy to clone and deploy your own backend (recommend http://gigalixir.com/ for git push related deploys), and we'll welcome community contributions
This also lays the groundwork for instant-updates of new FIN markets when proposals pass an PILOT sales complete. As a good demonstration of why a direct RPC architecture isn't scalable, this one endpoint requires around 300 individual gRPC calls to fetch token traces, metadata etc, but this very rarely, if ever, changes. This architecture allows us to invalidate the data in response to a MsgInstantiate for a FIN Code ID, instead of request it every-single-time a user loads FIN
Any questions fire away. We'll be building these out and adding new ones for the other apps over time From our end, the first integration of this API will be into Sonar, to allow new FIN Pairs to be listed the second that proposals pass and PILOT sales are executed