Skip to content
Official NEAR Protocol client.
Branch: master
Clone or download
Latest commit 6bf031a May 17, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Fix weekly digest config (#789) Mar 28, 2019
chain Refactor ops scripts and add a doc on how to run NEAR (#907) Apr 25, 2019
docs New logo (#533) Feb 7, 2019
nearmint Introducing Economics. Update the API of the promises. Replace mana/g… May 17, 2019
ops Tendermint loadtester (#921) Apr 30, 2019
protos/builder Proto cleanup (#770) Mar 25, 2019
pynear JSON RPC support (#869) Apr 18, 2019
runtime Introducing Economics. Update the API of the promises. Replace mana/g… May 17, 2019
scripts wasm path fix (#953) May 17, 2019
test-utils Introducing Economics. Update the API of the promises. Replace mana/g… May 17, 2019
tests Introducing Economics. Update the API of the promises. Replace mana/g… May 17, 2019
.dockerignore Refactor ops scripts and add a doc on how to run NEAR (#907) Apr 25, 2019
.gitattributes nearlib/wallet: fix receive message event source matching (#647) Mar 6, 2019
.gitignore Add "target" to Git ignore (should help `ag`) (#933) May 4, 2019
.gitlab-ci.yml Pull steps to start tendermint node into a shell script for easier lo… ( May 8, 2019
ATTRIBUTIONS.md Attributions to substrate, parity eth and trie. Copyright for nibbles… Feb 14, 2019
Cargo.lock State viewer tool (#948) May 16, 2019
Cargo.toml State viewer tool (#948) May 16, 2019
LICENSE Initial commit Oct 2, 2018
Makefile Refactor ops scripts and add a doc on how to run NEAR (#907) Apr 25, 2019
README.md update links to docs (#939) May 9, 2019
package-lock.json Introducing Economics. Update the API of the promises. Replace mana/g… May 17, 2019
rustfmt.toml Fix authority keys, NAT network, sync & produce blocks integration wo… Mar 2, 2019

README.md

NEAR Protocol - scalable and usable blockchain

Build status codecov dependency status Join the community on Spectrum Discord

NEAR Protocol is a new smart-contract platform that delivers scalability and usability.

Through sharding, it will linearly scale with the number of validation nodes on the network.

Leveraging WebAssembly, TypeScript, more sane contract management, ephemeral accounts and many other advancements, NEAR finally makes using a blockchain protocol easy for both developers and consumers.

Quick start

Check out quick start documentation, specifically:

Develop and deploy contracts without any setup required using NEAR Studio:

NEAR Studio

Status

This project is currently under heavy development. Please see Issues and Milestones to checkout the current progress and work items.

High level milestones:

  • DevNet: a tool with fully working State Transition + WebAssembly.
  • AlphaNet: Multi-node smart-contract platform.
  • BetaNet: Added economics and enchanced security.
  • TestNet: added governance module, ready to launch as MVB
  • MainNet: Launched as Minimum Viable Blockchain.
  • Shard chains: Support for scalable sharding.

Running

Checkout the Running Locally and Running Remotely sections.

Developing

Checkout the Developing NEAR Runtime and Building and Pushing Docker Image sections.

Logging

For runnable apps (devnet, nearcore, etc.), you can use the --log-level option to configure the log level across all internal crates. You can also use the RUST_LOG environment variable, with env_logger semantics to override the log level for specific targets. RUST_LOG can also be used in integration tests which spawn runnable apps.

Example:

$ RUST_LOG=runtime=debug cargo run -- --log-level warn

To add new target (e.g. info!(target: "my target", "hello")), add the desired target to the list in node/cli/src/service.rs in configure_logging function.

Contributions

If you are planning to contribute, there are few more things to setup

Setup git hooks

./scripts/setup_hooks.sh

Setup rustfmt for your editor (optional)

Installation instructions here

Lints

We currently use clippy to enforce certain standards. This check is run automatically during CI builds, and in a pre-commit hook. You can run do a clippy check with ./scripts/run_clippy.sh.

You can’t perform that action at this time.