Awesome
<p align="center"> <img src="./.github/screenshot.png" width="350px" /> <h2 align="center">nOS Client</h2> <p align="center"> <strong>nOS</strong> is a blockchain powered virtual operating system that serves as the gateway to Decentralized Applications. </p> <p align="center"> <a href="https://github.com/nos/client/releases/latest"> <img src="https://img.shields.io/github/v/release/nos/client" /> </a> <a href="https://github.com/nos/client/releases"> <img src="https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-blue.svg" alt="platforms" /> </a> <a href="https://github.com/nos/client/releases"> <img src="https://img.shields.io/github/license/nos/client?color=yellow"> </a> <a href="http://makeapullrequest.com"> <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" /> </a> <a href="https://github.com/nos/client/releases"> <img src="https://img.shields.io/github/downloads/nos/client/total.svg" /> </a> </p> <p align="center"> The <strong>nOS Client</strong> (Developer MVP Release) allows for the development of Decentralized Applications that interact with Smart Contracts in the back-end. </p> </p>Getting Started with nOS
The standalone client installers can be found here. To build manually, the client can be cloned from GitHub and run using the development steps below.
Commands
# Cloning from Github
git clone https://github.com/nos/client.git
# Install dependencies and launch the nOS client
# This is used to start developing on the nOS client
yarn install && yarn start
# Testing command
yarn test
# Testing with debug (repl) command
yarn test:debug
# Distribution command (code signing certificates are required to make this work)
yarn dist
Contribute to this repository
We welcome contributions to the code base. If you are interested in becoming a contributor, please read the contributing guide that covers the following:
There is a specific channel called develop on Discord to discuss development.
Contribute by building a dApp on nOS
Need some help with building nOS dApps? Check out our dedicated documentation website containing useful info for the following topics:
Check out the documentation of the Create nOS dApp CLI tool to get going quickly.
Resources:
Releasing
Automated Deployment
We use CircleCI to automatically create builds based upon git tags.
- run
yarn release --dry-run
- Note if the output version tag/changelog is correctly generated. - run
yarn release
- This will generate the changelog, update the version in package.json and create and push a tag. - The deploys jobs will be triggered and upload the artifacts to Github Release page as a draft.
Manual Deployment: macOS
- Export the following variables:
CSC_LINK
- This is the path to the .p12 certificate fileCSC_KEY_PASSWORD
- This is the password of the .p12 certificate fileCSC_IDENTITY_AUTO_DISCOVERY
- Set tofalse
to disable usage of local keychain (By default it looks in yourlogin
keychain)GH_TOKEN
- This is used to upload the artifacts to Github
- Create the distributable, i.e.
yarn dist
. - Locate and upload the following files as these are required for the auto-updater to work:
dist/nOS-1.0.0-mac.zip
dist/nOS-1.0.0-mac.dmg
dist/nOS-1.0.0-mac.dmg.blockmap
dist/latest-mac.yml
Manual Deployment: Linux
- Create the distributable, i.e.
yarn dist
. - Locate and upload the following files as these are required for the auto-updater to work:
dist/nOS-1.0.0-linux-amd64.snap
dist/nOS-1.0.0-linux-x86_64.AppImage
dist/latest-linux.yml
Manual Deployment: Windows
- Export the following variables:
WIN_CSC_LINK
- This is the certificate file in text formatWIN_CSC_KEY_PASSWORD
- This is the password of the certificate fileGH_TOKEN
- This is used to upload the artifacts to Github
- Create the distributable, i.e.
yarn dist
. - Locate and upload the following files as these are required for the auto-updater to work:
dist/nOS-1.0.0-win.exe
dist/nOS-1.0.0-win.exe.blockmap
dist/latest.yml
Generating hashes for the artifacts
- MacOS/Linux:
shasum -a 256 ./*
- Where the final argument is the location of the artifacts