The Holograph CLI enables you to interact with Holograph Protocol, in addition to participating as an operator in the Operator Network.
$ npm install -g @holographxyz/cli
$ holograph COMMAND
running command...
$ holograph (--version)
@holographxyz/cli/0.0.12 darwin-arm64 node-v18.9.0
$ holograph --help [COMMAND]
USAGE
$ holograph COMMAND
...
holograph bridge
- Make a bridge request.holograph config
- Initialize the Holograph CLI with a config file. If no flags are passed, the CLI will prompt you for the required information.holograph create
- Create Holographable contracts and NFTs.holograph faucet
- Request Testnet HLG from a faucet.holograph help
- Display help for holograph.holograph operator
- Listen for jobs and execute jobs.holograph status
- Get the status of a contract or NFT.
If you want to build the package directly, or if you want to help contribute, please do the following:
The required versions of node
and yarn
are in the .tool-version
file.
- This project uses asdf for language/binary versions management. Install following plugins
- Install asdf Node plugin:
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
- Install asdf yarn plugin:
asdf plugin-add yarn
- Run
asdf install
to get the requirednode
andyarn
version in the .tool-versions file. - Install dependencies with
yarn install
.
Once everything is installed, you can run ./bin/dev COMMAND
and the respective command in the /src/commands
file will be run. For example the command ./bin/dev status:nft
will run the file ./src/commands/status/nft.ts
src
├── abi
│ ├── develop: ABI for development purposes
│ ├── experimental: ABI for breaking changes
│ └── testnet: ABI for public testnets
├── commands
│ ├── bridge: Bridge commands
│ ├── config: Config commands
│ ├── operator: Operator commands
│ └── status: Status command
└── utils: General utility functions
Branch | Status |
---|---|
mainnet | Accepts PRs from testnet or release/x.x.x when we intend to deploy to mainnet. |
testnet | Accepts PRs from develop that are ready to be deployed to testnet. |
develop | Accepts PRs from feature/xyz branches that are experimental or in testing stage. |
experimental | Accepts PRs from feature/xyz |
We generally follow this Git branching model. Please read the linked post if you're planning to make frequent PRs into this repository.
The mainnet
branch contains the code for our latest "stable" mainnet releases.
Updates from mainnet
always come from the testnet
branch.
We only ever update the mainnet
branch when we intend to deploy code that has been tested on testnets to all mainnet networks supported by Holograph protocol.
Our update process takes the form of a PR merging the testnet
branch into the mainnet
branch.
The testnet
branch contains the code that is the latest stable testnet release for all supported testnet networks. This branch is deployed and circulated for beta users of the protocol. Updates are merged in from the develop
branch once they're ready for broad usage.
Our primary development branch is develop
.
develop
contains the most up-to-date software that is being tested via experimental network deployments.
This branch is used for deep internal features experimental
.
experimetnal
contains experimental features.
If you found a bug please create an issue and provide the required information. Please label your issue with the tag "Bug". We will triage the issues and incorporate fixes.
We love that you have ideas! So do we! You can make a ticket in the issues tab and label it as 'enhancement'. You can also join our discord and talk to us directly.
If you do write code and want it integrated in, we ask that you make all PRS into the develop branch. Please review the branch structure section to understand how features make move up the stack.