# Platform & Toolchain

## Local development environment

* [Getting Started](/infrablockchain-antelope/for-developers/developer-guides-infrablockchain-antelope-native/development-environment-infrablockchain-antelope-native/prerequisites.md): Install the InfraBlockchain-Antelope platform in your local development environment.

## Toolchain

The InfraBlockchain-Antelope platform is made up of the following components and toolchain:

1. `infra-node`:  the core InfraBlockchain-Antelope node daemon that can be configured with plugins to run a node. Example uses are block production, dedicated API endpoints, and local development.
2. `infra-cli`: the command line interface to interact with the blockchain and to manage wallets.
3. `infra-keychain`: the component that securely stores InfraBlockchain-Antelope keys in wallets.
4. `infrablockchain.cdt`: toolchain for WebAssembly (Wasm) and a set of tools to facilitate smart contract writing for the InfraBlockchain-Antelope platform.

The basic relationship between these components is illustrated in the following diagram:

![](/files/efcX8KS3UcoprHHevTXV)

InfraBlockchain-Antelope also provides a frontend library for javascript development called Infrablockchain-js.

## Infra-node

Infra-node is the core InfraBlockchain-Antelope node daemon. Infra-node handles the blockchain data persistence layer, peer-to-peer networking, and contract code scheduling. For development environments, Infra-node enables you to set up a single node blockchain network. Infra-node offers a wide range of features through plugins which can be enabled or disabled at start time via the command line parameters or configuration files.

## Infra-cli

`infra-cli` is a command line tool that interfaces with the REST APIs exposed by `infra-node`. You can also use `infra-cli` to deploy and test InfraBlockchain-Antelope smart contracts.

## Infra-keychain

`infra-keychain` is a key manager daemon for storing private keys and signing digital messages. `infra-keychain` provides a secure key storage medium for keys to be encrypted in the associated wallet file. The `infra-keychain` daemon also defines a secure enclave for signing transaction created by `infra-cli` or a third party library.

`infra-keychain` can be accessed using the wallet API, but it is important to note that the intended usage is for local light client applications. `infra-keychain` is not for cross network access by web applications trying to access users' wallets.

## Infrablockchain.cdt

Infrablockchain.cdt is a toolchain for WebAssembly (Wasm) and a set of tools to facilitate contract writing for the InfraBlockchain-Antelope platform. In addition to being a general-purpose WebAssembly toolchain, Antelope-specific optimizations are available to support building InfraBlockchain-Antelope smart contracts. This new toolchain is built around Clang 7, which means that InfraBlockchain.cdt has most of the current optimizations and analyses from LLVM.

## Infrablockchain-js

A Javascript API SDK for integration with InfraBlockchain-Antelope-based blockchains using the InfraBlockchain-Antelope RPC API.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.infrablockchain.net/infrablockchain-antelope/for-developers/developer-guides-infrablockchain-antelope-native/platform-and-toolchain.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
