# acl-catalyst-cli

> A client to query and perform changes on Decentraland's catalyst servers

Latest version **0.0.1** (published 2022-06-09) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install acl-catalyst-cli
pnpm add acl-catalyst-cli
yarn add acl-catalyst-cli
bun add acl-catalyst-cli
```

## Health

**Score 40/100 (D)** — status: abandoned.

Positive: has types; no vulnerabilities; high maintenance score; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 0.0.1 |
| Published | 2022-06-09 |
| First published | 2022-06-09 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 7 |
| Unpacked size | 293.6 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 7 |
| Author | Decentraland |
| Maintainers | lm-x |
| Keywords | decentraland |

## Links

- npm: https://www.npmjs.com/package/acl-catalyst-cli
- Repository: https://github.com/decentraland/catalyst-client
- Homepage: https://github.com/decentraland/catalyst-client#readme
- Issues: https://github.com/decentraland/catalyst-client/issues
- npm.io page: https://npm.io/package/acl-catalyst-cli

## Dependencies (7)

- [cookie](https://npm.io/package/cookie.md) ^0.4.1
- [form-data](https://npm.io/package/form-data.md) ^4.0.0
- [@dcl/hashing](https://npm.io/package/@dcl/hashing.md) ^1.1.0
- [@dcl/schemas](https://npm.io/package/@dcl/schemas.md) ^4.14.0
- [@types/form-data](https://npm.io/package/@types/form-data.md) ^2.5.0
- [dcl-catalyst-commons](https://npm.io/package/dcl-catalyst-commons.md) ^9.0.0
- [@dcl/catalyst-contracts](https://npm.io/package/@dcl/catalyst-contracts.md) ^2.0.0

## Recent versions

- 0.0.1 (latest) — 2022-06-09
- 0.0.0 — 2022-06-09
- 0.0.0-development — 2022-06-09

## README

# Decentraland Catalyst Client

Welcome to the Catalyst Client library. This client can be used to interact with Decentraland's [Catalyst servers](https://github.com/decentraland/catalyst). You can both fetch data, or deploy new entities to the server you specify.

## Installation

```bash
npm install dcl-catalyst-client
```

## Usage

You can check the entire API [here](src/CatalystAPI.ts).

This library depends on two other Decentraland libraries:

- [Decentraland Crypto](https://github.com/decentraland/decentraland-crypto/)
- [Catalyst Commons](https://github.com/decentraland/catalyst-commons/)

### Deploying

One of the most important aspects, is the ability to deploy new entities. Here is an example of how to do it:

```
import { CatalystClient, DeploymentBuilder } from 'dcl-catalyst-client'
import { EntityType } from '@dcl/schemas'
import { Authenticator } from '@dcl/crypto'


// This is up to you. You will need to figure out how to make the owner of the pointer sign the entity id
const { signature, address } = await sign(entityId)

// You can then create a simple auth chain like this, or a more complex one.
const authChain = Authenticator.createSimpleAuthChain(entityId, address, signature)

// Build the client
const catalyst = await CatalystClient.connectedToCatalystIn('mainnet')
// Note: this operation is expensive, so try to store the created catalyst client somewhere, instead of re-building for each every request

// Build entity and group all files
const { entityId, files } = await catalyst.buildEntity({type: EntityType.*, pointers, files: contentFiles, metadata })

// Build the deploy data
const deployData = { entityId, files, authChain }

// Deploy the actual entity
await catalyst.deployEntity(deployData)

```

## Contributing

### Build and test

```
npm install
npm run build
npm run test
```

### [Releases](https://registry.npmjs.org/dcl-catalyst-client)

#### Stable Releases

To publish a new release, a tag following [SemVer](https://semver.org/) must be done in `master` branch following the format: `MAJOR.MINOR.PATCH` and that will trigger a Github Workflow that publishes the new version of the library, tagging it as `latest`.

#### Master Releases

Every commit to `master` branch triggers a NPM Publish with the beta version following the convention `NEXT_MAJOR.NEXT_MINOR.NEXT_PATCH-TIMESTAMP.commit-COMMIT_SHA`, tagging it as `next`.

#### Tag Releases

If you need to publish a NPM package in a work in progress commit, then you can create a git tag, and that will trigger an automatically NPM publish following the convention `NEXT_MAJOR.NEXT_MINOR.NEXT_PATCH-TIMESTAMP.commit-COMMIT_SHA` and tagging it on NPM with your custom tag: `tag-CUSTOM_TAG`.

---
_Source: https://npm.io/package/acl-catalyst-cli · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
