Kaikas?

Kaikas is a digital wallet that allows you to manage accounts, sign transactions, send tokens, and search transaction history. It is currently available as a browser extension and mobile application. You can download the browser extension here, and the mobile app in App Store or Google Play.

About the mobile app

Kaikas is currently available as a browser extension and mobile application. You can manage your account using both of them, but token transfers for the mobile version are temporarily disabled at the moment due to policy issues, and you can only store/send NFTs. The mobile version is undergoing renewal and is planned to be launched later in the year.

User Features

Safe Account Management

The name “Wallet” can be pretty misleading as one is led to imagine a physical space that stores assets, but is more like an account manager than a wallet. It stores the address and keys. Your assets are actually in the blockchain. The keys merely grant you access to them.

Kaikas uses HD (hierarchical deterministic) addresses, which allows you to create multiple keys using a single seed. If you keep your seed phrase safely, you won’t have to remember each key for your accounts. The seed phrase is also used to recover your accounts, so take good care.

Below is what a seed phrase actually looks like. It is from an actual account, so go ahead and see what it feels like to hack an account. 😘

Another thing you have to keep safely is your Wallet Key, which includes your Private Key and Klaytn Wallet Key. You can find the Wallet Key in Account Details as shown below.

Your Wallet Key is also used to import accounts, so if you lose it, your account may not be recovered. Be careful!

Token Transfers

You can also send tokens using Kaikas. More specifically, a token transfer happens by submitting a transaction to the blockchain, which requires a signature. And what do you give the signature with? Your Private Key! Since Kaikas stores your address and Private Key, you can send and receive KLAY, KIP-7, KIP-17, KIP-37, and NFTs or view transaction status or history.

FYI: NFTs are not “visible” in the browser extension as of now. You can view them on Kaikas Mobile or KlaytnScope.

Custom Tokens

You can also add Klaytn-based custom tokens as shown below. To do this, simply click on [Token List] and you will see the [Add Token]. You can browse and add KCTs (Klaytn Compatible Tokens) used in different BApps.

It’s also possible to add your own custom tokens. Below, a token called G1 which was minted on Baobab Testnet using KAS Console has been added to the list.

Integration with BApps

Many BApps emerging on Klaytn lately have integrated Kaikas. Kaikas acts like an interface at the front end between the users and the service. The features we have seen earlier, like logging in, signing transactions, using KLAY etc. can be implemented easily with Kaikas.

Let’s look at a couple of examples where Kaikas is used. First, there is the DeFi service KLAYSwap. You can use Kaikas to stake or exchange KLAY and KCTs via KLAYSwap. If you want to use KLAYSwap with assets from a different blockchain, you have to convert them into KCTs using Orbit Bridge, which also involves Kaikas.

Klaytn’s very own NFT minting service KrafterSpace also uses Kaikas. Below you see the pop-up window for logging in. You can see that you are required to sign.

The NFTs not seen on the web extension are now visible on KrafterSpace as shown below. You also sign the transaction using Kaikas when sending NFTs.

Network

Using Baobab network allows you use Kaikas without spending actual KLAY. You can receive play money (test KLAY) to test out the different features. TO do that, select Baobab Testnet in the top left corner of the Kaikas window and click on the link under the [Send] button, or just visit https://baobab.wallet.klaytn.com/faucet, where you will be asked to provide your Private Key or Klaytn Wallet Key.

Developer Features

Klaytn Provider

If you are a blockchain developer, you can also integrate the Kaikas to your service to introduce various features as seen above. For this purpose, Kaikas acts as a Klaytn Provider.

Klaytn Provider means that with Kaikas, you can use the JavaScript global object window via window.klaytn. This allows you to create various interactions on the browser, just as in the BApps that have integrate Kaikas we saw earlier. More specifically, there are properties that allow you to check the current network or address of the user, and whether Kaikas is installed or not, as well as methods for granting access, registering tokens, and automatically refreshing pages. For more details on Klaytn Provider, please refer to this link.

Let’s take a closer look at one of the properties mentioned above. The klaytn.networkVersion property checks which network the user is currently on. It returns the following information:

‘1001’: Baobab Test Network
‘8217’: Cypress Main Network

Below you see an actual implementation. It is the pop-up window during login on KrafterSpace, indicating that you are on the Baobab Testnet.

Caver

Kaikas allows you to interact with the network in place of a Klaytn Node, which also makes Klaytn’s SDK Caver accessible. You can either download Caver yourself and wrap it with Klaytn Provider, or use Caver 1.4.0 provided by Kaikas in the form of (window.)caver.xxx. For more information on Caver, please refer to caver documentation. If you want to use Caver in the form of window.caver.xxx, refer to this link.

Custom RPC

RPC (Remote Procedure Call) is a protocol for network communication, and acts like an interface that enables interaction with the blockchain. In the course of developing an app, you may have to configure your own network on your local device for testing purposes. And these custom networks can also be added on Kaikas.

Below is an example of adding a such network. More specifically, for a private local EN (Endpoint Node).

|Network Name
Enter a desired name.

|New RPC URL
Default value is http://localhost:8551, but you can change it.

|Chain ID
Since we are connecting a Klaytn EN to Kaikas, you should enter the network chain ID supported by that EN. If you are using Cypress the ID is 8217, and with Baobab, 1001. You can also set up a separate network, in which case you would enter the chain ID designated for that network.

|Symbol
You enter the token symbol for the network, like KLAY.

|Block Explorer URL
The Block Explorer for Cypress is scope.klaytn.com, and for Baobab baobab.scope.klaytn.com. If you set up a separate network, enter the URL of the Block Explorer for that network.

If you want to see a tutorial of how Kaikas can actually be implemented, go check out this link: https://github.com/klaytn/kaikas-tutorial.

Further details about using Kaikas for development can be found here: https://docs.kaikas.io/. If you come across any problems or have questions, feel free to ask for help in the Klaytn Developer Forum!

In this article, we will show you some different ways to mint NFTs on Klaytn.

Klaytn?

Before we begin, you may be wondering what Klaytn is. Klaytn is a blockchain platform developed by GroundX, a Kakao subsidiary. Please refer to klaytn.foundationPosition PaperKlaytn Docs for more information.

NFT?

NFT stands for Non-Fungible Token. It was born out of Ethereum’s ERC-721 standard, where each token is given a unique value. You can think of it as a tokenized trading card of celebrities or athletes, or a Pokémon. Klaytn’s NFTs follow the KIP-17 standard. For more details on KIP-17, please refer to the link.

Deploying NFT Contracts? Sending Tokens?

Let us take a quick look at the technical background regarding NFTs. In order to mint NFTs, you need to have deployed a smart contract on Klaytn in advance. You can think of an NFT smart contract as a repository for storing NFTs. Once you have created a repository, you can keep on minting new NFTs into it. Here is a brief summary of the terms:

Hopefully by now you get the gist of what Klaytn and NFT are about. In this post, we will be focusing on how to deploy and mint them on the Klaytn blockchain, instead of dealing with NFTs per se. Please refer to other resources if you want to delve deeper into NFTs.

1. Deploying NFT Contracts with Truffle

You can learn how to deploy an NFT contract using Truffle here. Of the ways introduced here, this is probably the most complicated and difficult one, but it is recommended if you want to have more control over the contracts. It also allows you to modify the contract code.

2. Deploying NFT Contracts using caver

If you don’t think you will be modifying your contract, there are easier alternatives. Klaytn’s SDK caver-js and caver-java provide the caver.kct package, which helps you deploy KIP-17 contracts with ease. To learn how to deploy KIP-17 contracts using Klaytn’s SDK with sample codes, click here for caver-js, and here for caver-java.

3. Deploying NFT Contracts using KAS

KAS (Klaytn API Service) supports APIs for conveniently deploying KIP-17 contracts. Please refer to KAS Docs for more details.

4. Deploying NFT Contracts using Klip Partners

Klip features a functionality for minting and transferring NFTs using Klip Partners. It allows you to create NFTs that can be easily displayed on Klip. But you need to sign a separate contract with Klip Partners in order to use the service. And please note that Klip can only verify Korean citizens at the moment. If you are a business interested in using the service in Korea, please contact [email protected] For more information on Klip Partners, please refer to Klip API Docs.

5. Deploying NFT on KrafterSpace

GroundX launched KrafterSpace, a Klaytn-based NFT minting platform where anyone can conveniently create their own NFTs. Minting NFTs on Klaytn using the browser extension wallet Kaikas requires no prior knowledge of blockchain or programming. You can also sell and buy the created NFTs on OpenSea.

6. Deploying NFT Contracts with Klip/Kaikas

So far we have introduced several ways to deploy NFTs, but putting it into action may be easier said than done. To assist you in this, we have provided examples that demonstrate how to mint, view and send NFTs using KAS and Klip/Kaikas in the Github repositories below, so feel free to try it out yourselves!

https://github.com/klaytn/klaytn-nft-minter-backend
https://github.com/klaytn/klaytn-nft-minter-frontend