# chialisp-preclsp

> precompile chialisp for simple development

Latest version **1.0.0** (published 2021-10-03) · ISC license · 0 weekly downloads

## Install

```sh
npm install chialisp-preclsp
pnpm add chialisp-preclsp
yarn add chialisp-preclsp
bun add chialisp-preclsp
```

Provides the command `preclsp`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2021-10-03 |
| First published | 2021-10-03 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 34.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | yeqin |
| Maintainers | 892280082 |

## Links

- npm: https://www.npmjs.com/package/chialisp-preclsp
- npm.io page: https://npm.io/package/chialisp-preclsp

## Recent versions

- 1.0.0 (latest) — 2021-10-03

## README

# chialisp-preclsp

#### 描述

- 使用nodejs驱动chialisp代码，让使用chialisp变得更加简单易用。
- 这个驱动代码作为学习调试chialisp非常好用，但是不建议在工程项目中使用。
- 感谢chia团队，让我看到了更加有趣的未来。


#### 运行环境

- 安装chia-dev-tools,然后进入虚拟环境进行使用。


#### 安装


##### 手动安装（推荐）
```shell
	#安装
	git clone git@gitee.com:woaianqi/chialisp-preclsp.git 
    cd chialisp-preclsp 
    npm link
    #更新
    git pull
```

##### npm安装（不推荐）
```shell
	#不推荐使用该方法 因为代码库更新较为频繁
	npm install chialisp-preclsp -g
```

#### 运行指令

```shell
   #运行clsp源文件
   preclsp x.clsp
   #运行js驱动代码 (文件必须以#!clsp开头，才会进行编译)
   preclsp x.js
```

#### 驱动代码演示

##### clsp源程序（train0.clsp）
```lsip
(mod (
	MY_PUZZLE_HASH
	my_amount
	)

	(defconstant CREATE_COIN 51)

	(list
		(list CREATE_COIN MY_PUZZLE_HASH my_amount)
	)

)
```

##### clsp驱动代码（driver0.js）
```js
#!clsp

/**
	一个简单的智能货币
	定义一个收款地址
	消费时指定金额即可
	消费金额大于部署金额，会报错
	小于部署金额，剩余的部分会被当作矿工费哦。
	当然你也可以在脚本调用npm的包
*/

//开启debug，当前目录下会生成日志信息供调试
DEBUG()

//设置测试金额
const amount = @XCH(0.0001)

//指定一个clsp源程序文件并curry一个参数
const curryPuzzle = Puzzle.of("train0.clsp").curry(@ph1)

//部署这个合约到主网 立即得到交易对象
const transaction = curryPuzzle.deploy(@fp1,amount)

//等待主网确认交易，获得交易的货币
const coin = await transaction.getCoin()

//设置解决方案 消费该货币
const spentMsg = coin.setSolution([amount]).doSpent()

//如果消费成功，拿到消费的货币
if(spentMsg.success){

	//等待主网确认 获取消费后的货币
	const [spendCoin] = await spentMsg.getSpendCoins()

	//打印该货币
	spendCoin.print()
}
```

##### 运行
```shell
preclsp driver0.js
```

#### 具体教程
- 请移步[chialisp-tutorials](https://gitee.com/woaianqi/chialisp-tutorials)

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