@titan-suite/cli
Version:
The complete smart contract development tool
207 lines (140 loc) • 5.13 kB
Markdown
# Titan CLI
<img src="https://s15.postimg.cc/spmnht6zf/Titan_Logo.png" width="100" height="100">
The complete Smart Contract development CLI
[](https://oclif.io)
[](https://npmjs.org/package/@titan-suite/cli)
[](https://circleci.com/gh/titan-suite/cli/tree/master)
<!-- [](https://ci.appveyor.com/project/titan-suite/cli/branch/master)
[](https://codecov.io/gh/titan-suite/cli) -->
[](https://npmjs.org/package/@titan-suite/cli)
[](https://github.com/titan-suite/cli/blob/master/package.json)
[](https://gitter.im/titan-suite/Lobby)
# Usage
`npm i -g @titan-suite/cli`
```javascript
module.exports = {
defaultBlockchain: "aion",
blockchains: {
aion: {
networks: {
development: {
host: "http://TITAN.DEV.NODE",
defaultAccount: "",
password: ""
},
mainnet: {
host:
"http://api.nodesmith.io/v1/aion/mainnet/jsonrpc?apiKey=API_KEY",
defaultAccount: "",
password: ""
},
testnet: {
host:
"https://api.nodesmith.io/v1/aion/testnet/jsonrpc?apiKey=API_KEY",
defaultAccount: "",
password: ""
}
}
},
ethereum: {
networks: {
development: {
host: "http://127.0.0.1:8545",
defaultAccount: "",
password: ""
}
}
}
}
};
```
# Commands
## Help
- `titan --help`

You can also run `titan <command> --help` for more details about the command
## `titan compile`
Compile a Solidity smart contract
- `titan compile path/to/contracts/Example.sol`
- Compile a specific contract withing a file
- `titan compile -n SpecificContract path/to/contracts/ManyContracts.sol`
- Output more details about the contract
- `titan compile -d path/to/contracts/Example.sol`
- _The details of the compiled contract will be stored as `./build/bots/<contractName>.json`_

## `titan console`
Interact with an AION node with an injected `aion-web3` instance
- `titan console`

## `titan create`
Create a new contract or test file
- `titan create contract Test`

## `titan deploy`
Deploy a smart contract to an AION node
- `titan deploy path/to/contracts/Example.sol`
- Deploy a specific contract within a contract file:
- `titan deploy -n Test path/to/contracts/Example.sol`
- Pass parameters: - `titan deploy -p 5 path/to/contracts/Example.sol`
- _The details of the deployed contract will be stored as `./build/bots/<contractName>.json`_

## `titan exec`
Run Javascript files within your project
- `titan exec path/to/script`

## `titan init`
Generate an empty Titan project
- in the current directory: `titan init`
- in a new directory: `titan init <name>`

## `titan lint`
Lint a smart contract
- `titan lint path/to/contracts/Example.sol`
- lint multiple files within a directory
- `titan lint path/to/contracts/**/*.sol`

## `titan migrate`
- Create a migration file:
```javascript
// migrations/simple_migration.js
const Simple = require("../build/bolts/Simple.json");
module.exports = async deployer => {
deployer
.deploy(Simple)
.then(address => {
console.log(address);
})
.catch(e => {
console.error(e);
});
};
```
- `titan migrate path/to/migration.js`

## `titan networks`

## `titan test`
Run unit tests
- `titan test path/to/test/testExample.js`

## `titan unlock`
Unlock an account
_You may be prompted to enter an AION address and/or password_
- `titan unlock`
- with the account specified
- `titan unlock -a <0x..>`
- with both the account and password specified
- `titan unlock -a <0x...> -p <pwd>`

## `titan unpack`
Start a new project with a pre-built dApp
- `titan unpack`
- choose a pack from the options
- `titan unpack <name>`

---
# Test
- Create a `titanrc.js` as specified above
- `yarn test`
# Community
Join us on [Gitter](https://gitter.im/titan-suite/Lobby#)