Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/near/create-near-app
Create a starter app hooked up to the NEAR blockchain
https://github.com/near/create-near-app
angular assemblyscript blockchain react rust smartcontracts vue webassembly
Last synced: 3 months ago
JSON representation
Create a starter app hooked up to the NEAR blockchain
- Host: GitHub
- URL: https://github.com/near/create-near-app
- Owner: near
- License: mit
- Created: 2019-10-22T22:20:13.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-15T10:40:44.000Z (7 months ago)
- Last Synced: 2024-04-20T20:54:38.958Z (7 months ago)
- Topics: angular, assemblyscript, blockchain, react, rust, smartcontracts, vue, webassembly
- Language: TypeScript
- Homepage:
- Size: 8.32 MB
- Stars: 335
- Watchers: 34
- Forks: 150
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- Blockchain-Development-Resources - create-near-app
- best-of-crypto - GitHub - 7% open ยท โฑ๏ธ 24.05.2024): (Smart Contract Platforms)
- awesome-rust-list - near/create-near-app - near-app?style=social"/> : Create a starter app hooked up to the NEAR blockchain. (Web3 and ZKP Framework)
- awesome-rust-list - near/create-near-app - near-app?style=social"/> : Create a starter app hooked up to the NEAR blockchain. (Web3 and ZKP Framework)
README
# Create NEAR App
[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/nearprotocol/create-near-app)
Quickly build apps backed by the [NEAR](https://near.org) blockchain
## Prerequisites
Make sure you have a [current version of Node.js](https://nodejs.org) installed โ we are targeting versions `16+` for JS contracts and `18+` for frontend/gateways.
Read about other [prerequisites](https://docs.near.org/build/smart-contracts/quickstart#prerequisites) in our docs.
## Getting Started
To create a new NEAR project run this and follow interactive prompts:
npx create-near-app@latest
Follow the instructions in the README.md in the project you just created! ๐
### Contracts
You can create contracts written in:
- `Javascript`
- `Rust`:::
We strongly recommend you to follow our [smart contract quickstart](https://docs.near.org/build/smart-contracts/quickstart) if you are new to NEAR contracts.
:::For testing we use a sandboxed environment. You can write the tests in JavaScript or Rust.
### WebApps
You can create a web application in:
- [Next (Pages Router)](https://nextjs.org/docs/pages/building-your-application/routing)
- [Next (App Router)](https://nextjs.org/docs/app/building-your-application/routing):::
We strongly recommend you to follow our [web app quickstart](https://docs.near.org/build/web3-apps/quickstart) if you are new to NEAR WebApps.
:::> Consider using `pnpm` to handle the frontend, since it is much faster than `npm` and `yarn`.
## Using CLI arguments to run `create-near-app`
This CLI supports arguments to skip interactive prompts:
```shell
npx create-near-app
--frontend next-app|next-page|none
--contract js|rs|none
--install
```Use `--install` to automatically install dependencies from all `package.json` files.
When using arguments, all arguments are required, except for `--install`.
## Getting Help
Check out our [documentation](https://docs.near.org) or chat with us on [Discord](http://near.chat). We'd love to hear from you!
## Contributing to `create-near-app`
To make changes to `create-near-app` itself:
* clone the repository (Windows users, [use `git clone -c core.symlinks=true`](https://stackoverflow.com/a/42137273/249801))
* in your terminal, enter one of the folders inside `templates`, such as `templates/frontend/next-app`
* now you can run `pnpm install` to install dependencies and `pnpm run dev` to run the local development server, just like you can in a new app created with `create-near-app`#### About commit messages
`create-near-app` uses semantic versioning and auto-generates nice release notes & a changelog all based off of the commits. We do this by enforcing [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). In general the pattern mostly looks like this:
type(scope?): subject #scope is optional; multiple scopes are supported (current delimiter options: "/", "\" and ",")
Real world examples can look like this:
chore: run tests with GitHub Actions
fix(server): send cors headers
feat(blog): add comment section
If your change should show up in release notes as a feature, use `feat:`. If it should show up as a fix, use `fix:`. Otherwise, you probably want `refactor:` or `chore:`. [More info](https://github.com/conventional-changelog/commitlint/#what-is-commitlint)
#### Deploy `create-near-app`
If you want to deploy a new version, you will need two prerequisites:
1. Get publish-access to [the NPM package](https://www.npmjs.com/package/near-api-js)
2. Get write-access to [the GitHub repository](https://github.com/near/near-api-js)
3. Obtain a [personal access token](https://gitlab.com/profile/personal_access_tokens) (it only needs the "repo" scope).
4. Make sure the token is [available as an environment variable](https://github.com/release-it/release-it/blob/master/docs/environment-variables.md) called `GITHUB_TOKEN`Then run one script:
npm run release
Or just `release-it`
## License
This repository is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See [LICENSE](LICENSE) and [LICENSE-APACHE](LICENSE-APACHE) for details.