English | 简体中文
CITA 缓存服务器
适配 CITA v0.22 及以上
rake daemons:sync:stop
,再执行 rake zero18:update
来更新数据,然后执行 rake daemons:sync:start
,完成后重启 server 即可 😄
bundle exec rake event_logs:fix_old
去为已经存在的交易同步 event logs。
bundle exec rake transactions:add_error_message
来为旧的交易数据增加 errorMessage
。
rake daemons:sync:stop
来停止同步服务,然后执行 rake zero20:update
来更新旧的数据,然后执行 rake daemons:sync:start
来启动同步服务,最后重启 server 即可。
使用 docker 🐳 来运行
使用 rails secret
来生成 secret key 然后写入 .env.local
文件(查看 .env
文件来获取更多信息)
注意修改 .env.local
中的 sidekiq username 和 password
程序将会运行在 http://localhost:8888
$ make setup # 如果是第一次运行的话要执行该命令来初始化数据库
$ make up # 执行这个命令会在后台运行 docker 来运行程序
$ make update # 执行该命令以更新
更多信息可以参见 Makefile
-
postgresql 9.4 及以上
-
安装 secp256k1
$ cd re-birth/tmp && git clone https://github.com/bitcoin-core/secp256k1.git && cd secp256k1 && ./autogen.sh && ./configure --enable-module-recovery && make && sudo make install && cd ../..
$ bundle
$ touch .env.local (在 `.env.local` 文件中覆盖 `.env` 中的项, 比如 DB_USERNAME, DB_PASSWORD and CITA_URL...)
$ rails db:setup (或者 rails db:create db:migrate db:seed)
$ touch .env.test.local (测试环境下不会读取 `.env.local` 中的信息, 在 `.env.test.local` 覆盖 `.env` 中的项)
$ rails spec
CITA_URL
默认地址为:localhost:1337
初次运行请确认 CITA_URL
参数下的链是否真在运行
$ rails s
# 启动同步进程
$ rails daemons:sync:start
# 执行 `rails daemons:sync:stop` 来停止运行
# 执行 `rails daemons:sync:restart` 来重启服务
# 执行 `rails daemons:sync:status` 来查看状态
在 config/customs
中创建一个 .yml
文件,查看 config/customs/event_log.yml.sample
来获取更多信息。举个例子,你的文件名为 contracts.yml
,你可以执行 bundle exec rake event_log:create[contracts]
来创建表,然后执行 bundle exec rake daemons:sync:restart
来监听你的合约 😝
程序会同时使用 address
和 topics
来通过 jsonrpc 接口 getLogs
来筛选数据
可以用 mina 来部署
# 用你的环境变量名来代替 `dev`
$ mina dev deploy
$ mina dev 'rake[daemons:sync:start]'
$ bundle exec yard doc
$ bundle exec yard server
在 log
目录下有 production.log
和 sidekiq.log
文件,可以查看运行日志
log
├── production.log
└── sidekiq.log
详见 API Doc
遇到 Bug 时开一个 issue: https://github.com/citahub/re-birth/issues/new
并加上你使用的版本信息。
通过阅读 docs/tech_stack.md 了解此项目的编程语言、框架以及开发工具。
git clone [email protected]:citahub/re-birth.git
- coding style guide: https://rubystyle.guide
- linter: RuboCop
- code formatter: $ rubocop -x
- coding style guide: https://github.com/Haufe-Lexware/docker-style-guide
- formatter: https://www.fromlatest.io/
- best-practices: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
- coding style guide: https://style-guides.readthedocs.io/en/latest/makefile.html
- tutorial: https://makefiletutorial.com/
- conventions: https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html
- best-practices: https://suva.sh/posts/well-documented-makefiles/
$ rails spec
GitHub Flow, Understanding the GitHub flow
use git-style-guide for Branches, Commits,Messages, Merging