diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000000..64853f4c76 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2017-2021 Dash Core Group, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000000..ef211ff660 --- /dev/null +++ b/README.md @@ -0,0 +1,86 @@ +

+ + babel + +

+ +

+ Seriously fast decentralized applications for the Dash network +

+ +

+ GitHub CI Status + Devs Chat + General Chat + Follow on Twitter +

+ +Dash Platform is a technology stack for building decentralized applications on +the Dash network. The two main architectural components, Drive and DAPI, turn +the Dash P2P network into a cloud that developers can integrate with their +applications. + +If you are looking for how to contribute to the project or need any help with +building an app on the Dash Platform - message us on the [Devs +Discord](https://chat.dashdevs.org/)! + +## Intro + +This is a multi-package repository - sometimes also known as monorepository - +that contains all packages that comprise the Dash platform - for example, Drive, +which is the storage component of Dash Platform, the JavaScript SDK, wallet-lib, +DAPI, and others. Every individual package contains its own readme. Packages are +located in the [packages](./packages) directory. + +## FAQ + +### How to build and set up a node from the code in this repo? + +- Clone the repo +- Install prerequisites: + - [node.js](https://nodejs.org/) v16.0.0+ + - [docker](https://docs.docker.com/get-docker/) v20.10+ + - [docker-compose](https://docs.docker.com/compose/install/) v1.29.2+ +- Run `npm run setup` to install dependencies and configure and build all packages +- Run `npm run start` to start the local dev environment built from the sources +- Run `npm test` to run the whole test suite (note that running tests requires a running node, + so be sure to call `npm run start` first). Alternatively, you can run tests for a specific + package by running `npm test -w `, for example running + `npm test -w @dashevo/dapi-client` will run tests for the JS DAPI client. To see + all available packages, please see the [packages readme](./packages/README.md) +- `npm run stop` will stop the local dev environment. Running a dev environment requires a non-trivial amount of system resources, + so it is best to stop the local node when not in use +- Run `npm run build` to rebuild the project after changes. If you have a local node + running, you may need to restart it by running `npm run stop && npm run start` +- To completely reset all local data and builds, run `npm run reset` + +### Looking for support? + +For questions and support, please join our [Devs +Discord](https://chat.dashdevs.org/) + +### Where are the docs? + +Our docs are hosted on +[readme.io](https://dashplatform.readme.io/docs/introduction-what-is-dash-platform). +You can create issues and feature requests in the +[issues](https://github.com/dashevo/platform/issues) for this repository. + +### Want to report a bug or request a feature? + +Please read through our [CONTRIBUTING.md](CONTRIBUTING.md) and fill out the +issue template at [platform/issues](https://github.com/dashevo/platform/issues)! + +### Want to contribute to Dash Platform? + +Check out: + +- Our [Developers Discord](https://chat.dashdevs.org/) +- Our [CONTRIBUTING.md](CONTRIBUTING.md) to get started with setting up the + repo. +- Our [blog](https://www.dash.org/blog/) which contains release posts and + explanations. + +## License + +[MIT](LICENSE.md) diff --git a/packages/README.md b/packages/README.md new file mode 100644 index 0000000000..847129865c --- /dev/null +++ b/packages/README.md @@ -0,0 +1,32 @@ +### Core Packages + +| Package | Version | Description | +|---------|---------|-------------| +| [`@dashevo/dpp`](/packages/js-dpp) | [![npm](https://img.shields.io/npm/v/@dashevo/dpp.svg?maxAge=3600)](https://www.npmjs.com/package/@dashevo/dpp) | JS implementation of Dash Platform Protocol, the core data structures used by the Platform | +| [`@dashevo/dpns-contract`](/packages/dpns-contract) | [![npm](https://img.shields.io/npm/v/@dashevo/dpns-contract.svg?maxAge=3600)](https://www.npmjs.com/package/@dashevo/dpns-contract) | Data Contract for DashPay Naming Service | +| [`@dashevo/grpc-common`](/packages/js-grpc-common) | [![npm](https://img.shields.io/npm/v/@dashevo/grpc-common.svg?maxAge=3600)](https://www.npmjs.com/package/@dashevo/grpc-common) | Common gRPC packages | +| [`@dashevo/feature-flags-contract`](/packages/feature-flags-contract) | [![npm](https://img.shields.io/npm/v/@dashevo/feature-flags-contract.svg?maxAge=3600)](https://www.npmjs.com/package/@dashevo/feature-flags-contract) | System data contract to enable feature flags | + +### Fullnode & Masternode tools + +| Package | Version | Description | +|---------|---------|-------------| +| [`@dashevo/dashmate`](/packages/dashmate) | [![npm](https://img.shields.io/npm/v/@dashevo/dashmate.svg?maxAge=3600)](https://www.npmjs.com/package/@dashevo/dashmate) | A tool for managing full nodes and masternodes | + +### Platform Client Packages + +| Package | Version | Description | +|---------|---------|-------------| +| [`dash`](/packages/js-dash-sdk) | [![npm](https://img.shields.io/npm/v/dash.svg?maxAge=3600)](https://www.npmjs.com/package/dash) | JavaScript SDK and light client | +| [`@dashevo/wallet-lib`](/packages/wallet-lib) | [![npm](https://img.shields.io/npm/v/@dashevo/wallet-lib.svg?maxAge=3600)](https://www.npmjs.com/package/@dashevo/wallet-lib) | JavaScript light client wallet library | +| [`@dashevo/dapi-client`](/packages/js-dapi-client) | [![npm](https://img.shields.io/npm/v/@dashevo/dapi-client.svg?maxAge=3600)](https://www.npmjs.com/package/@dashevo/js-dapi-client) | JavaScript client to connect to DAPI | +| [`@dashevo/dapi-grpc`](/packages/dapi-grpc) | [![npm](https://img.shields.io/npm/v/@dashevo/dapi-grpc.svg?maxAge=3600)](https://www.npmjs.com/package/@dashevo/dapi-grpc) | gRPC clients for various platforms (Web, Android, iOS, Java, Python) to interact with DAPI | +| [`@dashevo/dashpay-contract`](/packages/dashpay-contract) | [![npm](https://img.shields.io/npm/v/@dashevo/dashpay-contract.svg?maxAge=3600)](https://www.npmjs.com/package/@dashevo/dashpay-contract) | DashPay social payments app data contract | + +### Platform Node Packages + +| Package | Version | Description | +|---------|---------|-------------| +| [`@dashevo/drive`](/packages/js-drive) | [![docker](https://img.shields.io/docker/v/dashpay/drive?label=docker&&maxAge=3600)](https://hub.docker.com/r/dashpay/drive) | Platform replicated state machine | +| [`@dashevo/dapi`](/packages/dapi) | [![docker](https://img.shields.io/docker/v/dashpay/dapi?label=docker&maxAge=3600)](https://hub.docker.com/r/dashpay/dapi) | Platform Decentralized API | +