Official Klaytn SDKs are provided in JavaScript and Java. See caver-js and caver-java. Community contributions are always welcome in providing Klaytn APIs in other languages.
To learn about how to build dApps using Klaytn SDK, see Tutorials.
Also, check the porting guidelines from web3.js and from web3j. Because the syntactic of caver-js and caver-java are very similar to web3.js and web3j, porting should be minimal and very straightforward. But, no, you can not use web3.js or web3j to make a request against Klaytn.
Must I install and run an EN (Endpoint Node) to use Klaytn?
Yes and No. Endpoint node validates the blocks and exposes RPC APIs to the outer world. EN is always needed for your application to interact with the Klaytn network. For those who simply want to try Klaytn APIs, you can try KAS (Klaytn API Service). KAS provides Klaytn Node API service that exposes RPC APIs of Klaytn networks (both Baobab and Cypress) as well as other useful API services. Note that KAS serves free API requests after user registration. For pricing plans, please refer to KAS pricing page.
I am running an EN, and node data sync is too slow.
Check the fast sync. Klaytn publishes the chain data every day. Chain data is a database snapshot that stores all blocks generated since the genesis. Download the latest chain data for the fast sync.
Can I use ERC-20 and ERC-721 contracts on Klaytn?
Yes. Klaytn supports Solidity as a smart contract language. ERC-20 and ERC-721 written in Solidity for Etherem can be deployed and executed on Klaytn.
See the JavaScript code snippet for deploying a contract with fee-delegation. Note that you can not use Truffle for the contract deployment with fee-delegation.
Sending a transaction with multiple signer gives a good explanation about two different ways of collecting signatures. Relevant caver-js APIs are as follows. Take a look at the code examples in the API description.