Breakpoint 2024: Product Keynote: Kinobi, Generating Web3.js Clients and Beyond
Discover Kinobi: Solana's game-changing tool for improved program accessibility and client generation across multiple languages
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.
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
- "The main purpose of Kinobi is to help so that our programs reach their consumers."
- "Kinobi doesn't select serialization strategies. Instead, it provides small puzzle pieces that should get a sample to create any complex type you want."
- "Kinobi enables programs to depend on the IDLs of other programs which opens up new possibilities."
- "We're currently working on a set of Macros that can extract Kinobi IDLs from any program directly."
- "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.
Comments
Please login to leave a comment.
On this page
Related Content
Solana Changelog Jun 5 - Faster getProgramAccounts, SIMD-96 approved, and Anchor types in Kinobi
Discover the latest Solana improvements including faster getProgramAccounts, SIMD-96 approval for validator rewards, and Kinobi's support for Anchor types
Solana Changelog - Faster getProgramAccounts, SIMD-96 Approved, and Anchor Types in Kinobi
Discover the latest Solana updates including optimized getProgramAccounts, SIMD-96 approval for full validator priority fees, and new Anchor type support in Kinobi. Learn about recent commits, documentation updates, and community resources.
Solana Changelog - Faster getProgramAccounts, SIMD-96 Approved, and Anchor Types in Kinobi
Discover the latest Solana updates including optimized getProgramAccounts, SIMD-96 approval for validator rewards, and new Anchor type support in Kinobi
Tech Talk: SevenLabs - Carbon Data Pipeline
Carbon V1 brings 5x faster historical backfills and a stable API for Solana developers building data pipelines and indexers
Scale or Die 2025: When Innovation Meets Network Stability: Why Vanilla Can Be The Best Flavor
Solana experts discuss the optimal number of validator clients and the challenges of maintaining network stability
Solana Changelog - Mar 19: Anza's Agave Client, Compute, and create-solana-program
Explore Solana's latest developments: Anza's Agave client, block space challenges, priority fees, and new developer tools like create-solana-program.
Solana Changelog Aug 21 - SIMD Updates, Commits, and Developer Resources
Discover the latest Solana updates, including SIMD-0163, new commits, and exciting developer resources like Luzid in this week's Solana Changelog.
Solana Changelog - August 15 - Bankrun JS, Bubblegum, and Radiance
Explore the latest Solana updates including game jam success, new developer tools, light client progress, and innovative local testing solutions
Solana Changelog - February 14, 2023 - Diet Clients, 1.15 Release, and Metaplex Fusion
Explore Solana's newest features including Diet Clients, the 1.15 release, and Metaplex Fusion. Learn about the Grizzly Thon hackathon and exciting ecosystem updates.
Solana Changelog - February 14, 2023 - Diet Clients, 1.15 Release, and Metaplex Fusion
Explore Solana's newest features including diet clients for improved security, the 1.15 release, and innovative NFT farming with Metaplex Fusion.
Solana Changelog - December 5 - Geyser, GroupMember Extension, and Core BPF Programs
Discover the latest Solana developments including Geyser plugin logging, new token extensions, and improvements to core BPF programs. Learn how these updates enhance Solana's ecosystem and developer experience.
Solana Changelog - December 5 - Geyser, GroupMember Extension, and Core BPF Programs
Explore the latest Solana updates including Geyser plugin logging, new token extensions, and improvements to core BPF programs. Learn about the impact on developers and the ecosystem.
Solana Changelog - Test validator fix, new Syscall, RPC updates, and more
Dive into the latest Solana improvements including a test validator fix, new GetEpochStake syscall, RPC updates for interest-bearing tokens, and continued Core BPF migration progress.
Breakpoint 2023 - These are the talks we would watch - Solfate Podcast #36
Dive into the highlights of Solana Breakpoint 2023 with the Solfate Podcast. Discover the most anticipated talks, exciting announcements, and groundbreaking developments in the Solana ecosystem.
Solana Changelog - January 31, 2023 - Geyser Improvements, Program-Test, and Bokken
Explore the latest Solana updates including a proposed fee market for storage, Geyser improvements, and the game-changing Bokken debugger for Solana programs.
Solana Token Markets
