Earn 5.75% APY staking with Solana Compass + help grow Solana's ecosystem

Stake natively or with our LST compassSOL to earn a market leading APY

Conference Talk Breakpoint 24

Breakpoint 2024: Product Keynote: Kinobi, Generating Web3.js Clients and Beyond

Solana 🧭 Compass By Solana 🧭 Compass 6 min read

Discover Kinobi: Solana's game-changing tool for improved program accessibility and client generation across multiple languages

The notes below are AI generated and may not be 100% accurate. Watch the video to be sure!
Note: these notes were generated by AI to help surface more Solana content

Solana's ecosystem is about to receive a significant boost with the introduction of Kinobi, a groundbreaking developer tool designed to revolutionize how programs interact with their consumers. Unveiled at Breakpoint 2024, Kinobi promises to streamline development processes and enhance program accessibility across the Solana network.

Keep up to date with the Solana eco
Follow us on Google News

Summary

Loris Leiva, a key figure in Solana's development ecosystem, introduced Kinobi during the Product Keynote at Breakpoint 2024. Kinobi is a developer tool aimed at bridging the gap between Solana programs and their consumers, including wallets, explorers, decentralized applications, users, and even other programs as dependencies.

The tool works by offering a standard that extracts as much information as possible from programs, which can then be deployed on-chain for secure retrieval by anyone. Unlike Anchor IDL, which is an opinionated framework with specific assumptions, Kinobi provides flexible building blocks that allow developers to create complex types without being constrained by predetermined serialization strategies.

Kinobi's capabilities extend beyond just information extraction. It enables programs to depend on the IDLs of other programs, opening up new possibilities for instruction bundling and improved explorer functionality. The tool also facilitates the generation of program clients in various languages and frameworks, including a new Web3.js client that's currently in release candidate stage.

Key Points:

Purpose and Functionality of Kinobi

Kinobi is designed to help Solana programs reach their consumers more effectively. It achieves this by offering a standard for extracting comprehensive information from programs, which can then be deployed on-chain. This allows anyone to retrieve the information securely, enhancing the overall accessibility and usability of Solana programs.

Unlike existing solutions like Anchor IDL, Kinobi doesn't impose specific serialization strategies. Instead, it provides flexible components that developers can use to create any complex type they need. This approach gives developers more freedom in defining their program structures while still maintaining a standardized format for information extraction.

Kinobi IDL Generation and Compatibility

Obtaining a Kinobi IDL for a program is straightforward, especially for existing Anchor programs. Anchor IDLs can be directly converted into Kinobi IDLs, making the transition seamless for developers already using Anchor. The same applies to programs using Shank Macros to generate Anchor IDLs from Solana programs.

For programs not using Anchor or Shank, the Kinobi team is developing a set of macros that can extract Kinobi IDLs directly from any program. This universal approach ensures that Kinobi can be adopted across the entire Solana ecosystem, regardless of the development framework used.

Client Generation and Language Support

One of Kinobi's most powerful features is its ability to generate program clients in various languages and frameworks. This includes a JavaScript client that's compatible with the new Web3.js (currently in release candidate stage), as well as clients for Unity and C++ for gaming applications.

The tool's client generation capabilities extend beyond just creating basic interfaces. Kinobi can potentially generate entire applications, including CLI tools, documentation websites, and even React components that can be easily integrated into existing apps. This versatility makes Kinobi an invaluable asset for developers looking to quickly build and deploy Solana-based applications.

Custom IDL Creation and Program Interoperability

Kinobi introduces a novel approach to handling multiple similar programs. Developers can create custom Kinobi IDLs by combining IDLs from different programs and selecting the relevant parts for their specific application. This feature allows for the generation of a unified client that can interact with multiple programs without requiring external dependencies.

This interoperability is particularly useful for developers working with multiple Solana programs that share similar structures or functionalities. It streamlines the development process and reduces the complexity of managing multiple program interfaces within a single application.

Facts + Figures

  • Kinobi is a new developer tool for Solana introduced at Breakpoint 2024
  • It offers a standard for extracting and deploying program information on-chain
  • Unlike Anchor IDL, Kinobi provides flexible building blocks for creating complex types
  • Kinobi enables programs to depend on IDLs of other programs
  • The tool can generate program clients in JavaScript, Unity, and C++
  • A new Web3.js client compatible with Kinobi is currently in release candidate stage
  • Kinobi can potentially generate CLI tools, documentation websites, and React components
  • Existing Anchor IDLs can be converted directly into Kinobi IDLs
  • Shank Macros users can also easily transition to Kinobi IDLs
  • Custom Kinobi IDLs can be created by combining IDLs from multiple programs

Top quotes

  1. "The main purpose of Kinobi is to help so that our programs reach their consumers."
  2. "Kinobi doesn't select serialization strategies. Instead, it provides small puzzle pieces that should get a sample to create any complex type you want."
  3. "Kinobi enables programs to depend on the IDLs of other programs which opens up new possibilities."
  4. "We're currently working on a set of Macros that can extract Kinobi IDLs from any program directly."
  5. "Soon you'll be able to generate not just our clients, but all apps, right? For example, CLI tools, documentation website, or React components that you can plug in with the app."

Questions Answered

What is Kinobi?

Kinobi is a new developer tool for the Solana ecosystem introduced at Breakpoint 2024. It's designed to help Solana programs reach their consumers more effectively by offering a standard for extracting and deploying program information on-chain. Kinobi provides flexible building blocks for creating complex types and enables programs to depend on the IDLs of other programs, opening up new possibilities for instruction bundling and improved explorer functionality.

How is Kinobi different from Anchor IDL?

While Anchor IDL is an opinionated framework with specific assumptions about how data should be structured, Kinobi takes a more flexible approach. It doesn't select serialization strategies but instead provides small, customizable components that developers can use to create any complex type they need. This flexibility allows for more diverse program structures while still maintaining a standardized format for information extraction.

What types of clients can Kinobi generate?

Kinobi can generate program clients in various languages and frameworks. This includes a JavaScript client compatible with the new Web3.js, as well as clients for Unity and C++ for gaming applications. Additionally, Kinobi has the potential to generate entire applications, including CLI tools, documentation websites, and React components that can be easily integrated into existing apps.

How can developers obtain a Kinobi IDL for their program?

For existing Anchor programs, Anchor IDLs can be directly converted into Kinobi IDLs. Programs using Shank Macros to generate Anchor IDLs can also easily transition to Kinobi IDLs. For programs not using these frameworks, the Kinobi team is developing a set of macros that can extract Kinobi IDLs directly from any program, ensuring universal compatibility across the Solana ecosystem.

What are the benefits of using Kinobi for Solana developers?

Kinobi offers several benefits for Solana developers. It provides a more flexible approach to defining program structures, enables better interoperability between programs, and simplifies the process of generating clients in multiple languages. Kinobi also has the potential to streamline the development of documentation and user interfaces, making it easier for developers to create comprehensive ecosystems around their Solana programs.


Solana 🧭 Compass
Solana 🧭 Compass
@SolanaCompass

Solana Compass is an independent Solana analytics and staking platform, operating a validator on Solana mainnet since September 2021. Its network statistics and...


Comments

Please login to leave a comment.


Solana tokens

Solana Token Markets

Explore all tokens →