Welcome! This page is your map for getting to know the NEAR platform.
If you have questions along the way, join our community on Discord and reach out! We're here to help.
NEAR Protocol ("NEAR" hereafter) is a decentralized development platform where developers can host serverless applications and smart contracts that easily connect to "open finance"  networks and benefit from an ecosystem of "open web"  components.
Unlike most blockchain-based platforms, NEAR Protocol is built from the ground up to be the easiest in the world for developers and their end users, while still providing the scalability and security you need to serve those users. Specifically, NEAR is designed to make it easier to:
- Build decentralized applications, even if you're only used to building with "traditional" web or app concepts.
- Onboard users with a smooth experience, even if they have never used crypto, tokens, keys, wallets, or other blockchain artifacts.
- Scale your application seamlessly - the underlying platform automatically expands capacity via sharding without additional costs or effort on your part.
: "Open Finance" networks facilitate digital value transfer and storage using tokens and tokenized assets. This spans everything from easy peer-to-peer payments to sophisticated lending and trading protocols.
: "Open Web" components are re-usable smart contracts that share state, making for easy composability of applications that still protect users' data. Whereas Open Finance is built on the permissionless movement of value, the Open Web further generalizes this openness to operate on all data.
A blockchain is a particular type of irreversible distributed ledger which combines aspects of both computation and data storage. Each new block which is added contains modifications to the state of the ledger that have been agreed upon by the consensus of the distributed nodes which run the network.
These ledgers allow for a large number of participants to permissionlessly but collaboratively manage extremely large amounts of value (Bitcoin is worth >$100B) entirely through basic cryptoeconomic incentives.
While it is intellectually interesting to explore the theory and technology behind blockchains, it is not necessary to do this in order to build, test, and deploy apps. Similarly, you don't need to understand how fault-tolerant commodity compute clusters work inside AWS, GCP, or Azure in order to deploy an app to these clouds. Focus on the code! We've made it easy.
You may have heard of distributed computing, databases, or computer networks, all of which play a role in blockchains.
Currently, most web-services utilize a single server and a single database to process your request and provide information. This infrastructure is usually managed by an individual entity who treats all of their data processing like a black box: the request goes in, something happens, and the user receives an output.
While the company may rely on third parties to verify those claims, the user will never be able to verify what happened in the black box. This system relies on trust between users and companies.
NEAR is similar in principle to the “cloud-based” infrastructure that developers currently build applications on top of, except that the cloud is no longer controlled by a single company running a giant data center — that data center is actually made up of all the people around the world who are operating nodes on the decentralized network. Instead of a “company-operated cloud,” it's a “community-operated cloud.”
To set the stage, we’re building a “base-layer blockchain,” or a layer-one, meaning that it’s on the same level of the ecosystem as projects like Ethereum or Cosmos. That means everything in the ecosystem is built on top of the NEAR blockchain, including your application.
- [ watch ] Blockchain 101 Onramp: Deconstructing the Blockchain Ecosystem
- [ watch ] What are Decentralized Applications and How Do They Work?
- [ watch ] The Design of Blockchain-Based Apps
- [ watch ] But how does Bitcoin actually work? by 3Blue1Brown
- [ read ] The Beginner’s Guide to the NEAR Blockchain
- [ read ] Blockchain Infrastructure Landscape: A First Principles Framing
- [ read ] a16z Crypto Glossary
- [ read ] a16z Crypto Canon
- Set up an account.
- Choose a starter project, click
Runat the top, and play for a few minutes.
- Check out the network status (and any changes you made while playing in step 2). The block explorer provides you with insights on nodes, transactions, and blocks. You can look for your account ID (used in step 2).
- Dive into the docs.
- Let us know if you need anything.
Developing on a sharded blockchain-based platform is conceptually similar to building web applications, but there are still differences you will need to watch out for. For example, the "smart contracts" that back these applications require careful thinking about good security practices, asynchronous calls, and release management when deploying to production.
Luckily, there are plenty of tools available in these docs to test-drive these things and learn more about how they work.
[ Open ] NEAR Protocol network status page
[ Watch ] new episodes published regularly
- NEAR Lunch & Learn Ep. 05: Accounts and Runtime
- NEAR Lunch & Learn Ep. 04: Nightshade: Consensus and finality
- NEAR Lunch & Learn Ep. 03: Light clients in Proof-of-Stake systems
- NEAR Lunch & Learn Ep. 02: Economics in a Sharded Blockchain
- NEAR Lunch & Learn Ep. 01: Cross Shard Transactions with One Block Delay
[ Watch ] new episodes published regularly
- Whiteboard Series with NEAR | Ep: 31 Kevin Davis from Kava Labs
- Whiteboard Series with NEAR | Ep: 30 David Vorick from Sia
- Whiteboard Series with NEAR | Ep: 29 Taylor Wei from Top Network
- Whiteboard Series with NEAR | Ep: 28 Jaynti Kanani from Matic
- Whiteboard Series with NEAR | Ep: 27 Xiaoshan Zhu from Meter
[ View ] new questions and answers published regularly
- Could we consider non-plugins web-based crypto wallets as safe? (view)
- How to print the length of an array in AssemblyScript / NEAR? (view)
- Changing VMContext attributes during tests (view)
- String attribute set in init method always returns empty string (view)
- How to attach value (deposit) to transaction with near-api-js? (view)
Got a question?
Ask it on StackOverflow!