Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/liyingxuan/tron-game-ser
用Egg.js构建的,提供TRON智能合约游戏的后台数据存储、触发游戏结束等功能。
https://github.com/liyingxuan/tron-game-ser
Last synced: 4 days ago
JSON representation
用Egg.js构建的,提供TRON智能合约游戏的后台数据存储、触发游戏结束等功能。
- Host: GitHub
- URL: https://github.com/liyingxuan/tron-game-ser
- Owner: liyingxuan
- Created: 2018-12-23T05:55:49.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2018-12-23T15:57:18.000Z (about 6 years ago)
- Last Synced: 2024-11-09T19:12:55.321Z (2 months ago)
- Language: JavaScript
- Size: 46.3 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Egg.js调用Tron做游戏
### 目录结构
```
egg-project
├── package.json
├── app
| ├── router.js(入口)
│ ├── controller
│ | └── users.js
│ ├── helper(自己的一些函数)
| | ├── MathExtend.js
| | ├── MyTools.js
│ | └── ScAction.js
│ ├── middleware
│ | └── error_handler.js
│ ├── model(数据库ORM相关)
│ | └── users.js
│ ├── public(放JS/CSS等静态资源)
│ | └── LoadFiles(合约相关的)
│ ├── schedule(app启动时的定时任务)
│ | └── xxx.css
│ └── service
│ └── users.js
├── config
| ├── config.default.js
| ├── config.local.js
│ ├── config.prod.js
| └── plugin.js
├── database(数据库)
└── logs(日志)
```### 本地开发
```bash
$ npm install$ cp ./config/config.prod.js ./config/config.local.js
# 配置需要的local项目# 安装MySQL,并完成相关配置
# 然后完成数据库结构迁移:
$ npx sequelize db:migrate$ npm run dev
$ open http://localhost:7001/api/sc/
```### ./app/public/LoadFiles/my-pk.json 文件结构
> 因为需要提供私钥,所以将文件设置在一个其他位置,线上部署可以更换成线上无法访问的绝对地址。
```json
[
{
"serverUrl": "https://xxx.infura.io/xxx",
"contractAddress": "0x",
"signAccountPK": "0x",
"croupierAccountPK": "0x"
}
]
```##### 标准打印
```javascript
this.ctx.logger.info('my request data: ', data);
```### 数据库迁移
```bash
$ npx sequelize migration:generate --name=init-users
修改migrations新生成的变成符合自己需要的
# 升级数据库
$ npx sequelize db:migrate
# 如果有问题需要回滚,可以通过 `db:migrate:undo` 回退一个变更
# npx sequelize db:migrate:undo
# 可以通过 `db:migrate:undo:all` 回退到初始状态
# npx sequelize db:migrate:undo:all
```### 线上部署
```bash
Centos7.x为例:
$ yum install git gcc-c++ unzip
# git获取项目或者scp推上去# 安装node8.0+:
$ curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
$ yum install nodejs
$ npm i -g egg-scripts# cd 项目目录下
$ npm i# 安装MySQL,并完成相关配置
# 然后完成数据库结构迁移:
$ npx sequelize db:migrate
# 如果有问题需要回滚,可以通过 `db:migrate:undo` 回退一个变更
# npx sequelize db:migrate:undo# 启动!然后就可以外网使用服务了
$ npm run ser-start# 停止服务:
$ npm run ser-stop
```