Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/orbs-network/decentralized-npm
[App Demo] NPM registry on blockchain with Orbs
https://github.com/orbs-network/decentralized-npm
blockchain cli golang js npm registry smart-contracts
Last synced: about 2 months ago
JSON representation
[App Demo] NPM registry on blockchain with Orbs
- Host: GitHub
- URL: https://github.com/orbs-network/decentralized-npm
- Owner: orbs-network
- License: mit
- Created: 2019-04-24T13:40:49.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T21:10:00.000Z (about 2 years ago)
- Last Synced: 2023-05-02T05:51:18.289Z (over 1 year ago)
- Topics: blockchain, cli, golang, js, npm, registry, smart-contracts
- Language: JavaScript
- Homepage:
- Size: 1.12 MB
- Stars: 9
- Watchers: 1
- Forks: 4
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Decentralized NPM Registry
> POC of decentralized NPM that runs on blockchain
## Usage
### Locally
1. Launch gamma server: `npm run gamma:start`
2. Deploy contracts: `npm run gamma:deploy:owners`
3. Interact with the cli: `npm run cli -- `## Supported Actions
Below is the list of supported actions. It specifies primary and secondary actions with parameters, if applicable.
E.g. `npm run cli -- owner add react 0x123456779101213141`
|Primary Action|Secondary Action|Description|
|--------------|----------------|-----------|
|`login`||Login creates a `.npmrc` with configuration or registry and user keys.|
|`owner`||Owner commands allow to interact with the list of owners per package.|
||`ls `|Lists of all owners for corresponding `packageName`.|
||`add `|Adds the specified `userAddress` of a new user as an owner to the specified `packageName`|
||`rm `|Removes the specified `userAddress` from the list of owners of specified `packageName`|## Testing
### Unit tests `npm test`
It runs all tests using jest including integration tests with gamma server.**Notice!** Tests that are using gamma, due to its performace of start/stop of docker, are currently stateful, meaning that if you are changing the state of a contract, it persists to other tests in a suite.
### Coverage `npm run test:coverage`
It will run tests and generate coverage report.## License
MIT.