“Unlocking the Full Potential of Ethereum: A Comprehensive Guide to Near Blockchain Development for Ethereum Developers”
Near is a non-EVM-based blockchain that allows developers to write smart contracts in JavaScript/TypeScript. However, if you’re new to building on non-EVM chains, there are a few concepts and facts you should know before diving in.
One important thing to note is that smart contracts on Near are not immutable. Unlike on other blockchains, smart contracts on Near can be updated or changed after they are deployed, as long as they don’t change the state of the previously deployed version of the contract. This feature has its pros and cons. On the positive side, it allows developers to add new features and fix bugs and security issues. However, it also makes the network slightly centralized, as one entity or person has the authority to change the smart contract code. Before trusting a smart contract, it’s important to check who has full authority to change the code and ensure it is linked to a multi-sig wallet for decentralization.
Access Keys and Private Keys are two important concepts on Near. While they may sound similar, they have different functionalities. Access keys are derived from private keys but are shareable. They authorize someone to perform specific tasks based on their access permissions. This concept is similar to role-based access in Web2. For example, a company can share its wallet access keys with its employees, allowing them to spend Near tokens on behalf of the company without needing to share the private keys. Access keys are primarily used for smart contract updates. The access key with full access to a smart contract has the authority to make any changes and publish them to the network. To ensure decentralization, it is advisable to either remove all access keys after smart contract deployment or give access keys to a multi-sig wallet.
There are two types of access keys on Near: FullAccess and FunctionCall. FullAccess grants full authority over the account, enabling actions like deleting the account, deploying a smart contract, calling any method on any contract, and transferring Near tokens. FunctionCall keys only allow permission to call specific methods on a contract, potentially all methods, but do not permit attaching NEAR tokens to the call.
Here are a couple of interesting facts about Near. First, the Near Block Explorer does not display the smart contract code like Etherscan does for Ethereum. Second, Near provides named wallet addresses by default, which are more memorable than the typical hash addresses found on other blockchains. These named wallet addresses can even be used to create sub-domains.
These are just a few of the new concepts and facts I discovered when transitioning from an EVM-based blockchain to Near. I hope they help new developers who are venturing into Near, as it took me some time to grasp these concepts myself. If you found this information helpful and would like to show your appreciation, you can donate to me at “rishabhrag.near”. Your contribution would be greatly appreciated.
Thanks for reading, and have a fantastic day! Keep building on Near!