Tooling Overview¶
Koinos tools fall into four groups: client libraries, wallets, command-line tools, and smart-contract SDKs. Choose the smallest toolset that matches the task.
Koilib¶
Koilib is a JavaScript and TypeScript library for reading Koinos data, preparing transactions, and interacting with contracts.
Install the current npm package:
npm install koilib
Its principal APIs include:
Providerfor JSON-RPC connections;Contractfor ABI-based contract calls;SignerandTransactionfor signed operations; andutils, including token ABIs and unit conversion helpers.
The following setup creates a mainnet provider and a disposable local signer:
export function createClient() {
const provider = new Provider(MAINNET_RPC);
const signer = new Signer({ privateKey: new Uint8Array(32).fill(1) });
return { provider, signer };
}
View complete file · Run example
The complete Node.js example reads live data and exercises additional Koilib APIs, but it does not broadcast a transaction. Its signer uses a deliberately disposable local key that must never be used for funds.
Use utils.formatUnits and utils.parseUnits when converting token values.
Never use JavaScript floating-point arithmetic for on-chain integer amounts.
See the Koilib API documentation for the installed version's interfaces.
Kondor¶
Kondor 2 is a self-custody Chrome extension. It is suitable for users who want a graphical wallet and for dApps that need a user-approved signature.
Use the current Kondor documentation rather than legacy browser-global examples. The extension requires a separate user approval for connections and signing requests.
This feature check lets a dApp display an appropriate unavailable-wallet state:
export function isKondorAvailable(browser = globalThis) {
return Boolean(browser.window?.kondor);
}
View complete file · Run example
The hosted runner shows the unavailable-wallet state when Kondor is not installed in that browser. Account and signature requests always require user approval.
Koinos CLI¶
The Koinos CLI is an official Go command-line application. It supports interactive wallet management, RPC connections, contract registration, token transfers, contract uploads, and transaction sessions.
Download a binary from the
release page or build the
official repository from source. There is no published @koinos/cli npm
package.
Smart-contract development¶
AssemblyScript SDK¶
The official
Koinos AssemblyScript SDK provides
the runtime types and APIs used by AssemblyScript contracts. The associated
@koinos/sdk-as-cli
package provides project tooling.
C++ SDK¶
The official Koinos C++ SDK supports contracts written in C++.
Arkinos¶
Arkinos is a
community-maintained project scaffolder for AssemblyScript contracts and
optional frontends. The published package is named arkinos:
npx arkinos
The package @arkinos/cli does not exist. After scaffolding, follow the README
generated inside the project because its scripts depend on the selected
template.
Network access¶
Choose an endpoint based on the environment:
- mainnet JSON-RPC:
https://api.koinos.io/ - public testnet JSON-RPC:
https://testnet.koinosfoundation.org/jsonrpc - local development: a JSON-RPC service from your own Koinos node or test environment
See Mainnet vs Testnet before signing testnet transactions.
Explorers¶
Explorers are useful for inspecting public blocks, accounts, contracts, and transactions. Koinos Blocks is linked from the official Koinos ecosystem site and was reachable during this review.
An explorer is not an authority for private-key requests. Never enter a private key or recovery phrase into an explorer.
Which tool should I use?¶
| Task | Suggested starting point |
|---|---|
| Read chain or contract data in JavaScript | Koilib |
| Approve dApp transactions in Chrome | Kondor |
| Manage a wallet from a terminal | Koinos CLI |
| Build an AssemblyScript contract | Koinos AssemblyScript SDK |
| Scaffold a community contract template | Arkinos |
| Build a C++ contract | Koinos C++ SDK |
| Inspect a transaction | Koinos Blocks |