# 彩虹溯源 该项目前后台包含在一个项目中 EOS 开发者网址: https://developers.eos.io/eosio-home/docs EOS扩展包使用: composer require linland/php-eos-rpc-sdk EOS RPC使用可参考example中的例子: https://github.com/linland/php-eos-rpc-sdk ## 1.启动keosd--钱包服务 */5 * * * * root /data/wwwroot/uptoyo/api/platform-trace/current/monitor.sh >> /dev/null 2>&1 自动监控运行keosd钱包服务 keosd --http-server-address=localhost:8911 --config-dir /data/eos/keosd/ —wallet-dir /data/eos/keosd/ —data-dir /data/eos/keosd/data/ config --verbose-http-errors >> keosd.log 2>&1 & 手动启动服务 ## 2.运行nodeos--节点服务 nodeos -e --genesis-json /data/eos/nodeos/config/genesis.json --plugin eosio::producer_plugin --plugin eosio::chain_api_plugin --plugin eosio::http_plugin --plugin eosio::state_history_plugin --plugin eosio::history_plugin --plugin eosio::history_api_plugin --data-dir /data/eos/nodeos/data --config-dir /data/eos/nodeos/config --access-control-allow-origin='*' --contracts-console --http-validate-host=false --state-history-dir /data/eos/nodeos/shpdata --trace-history --chain-state-history --verbose-http-errors --filter-on='*' --disable-replay-opts >> nodeos.log 2>&1 & ## 3.配置项目定时任务 * * * * * www /usr/bin/php /data/wwwroot/uptoyo/api/platform-trace/current/artisan schedule:run >> /dev/null 2>&1 ## 接口文档 http://confluence.caihongxingqiu.com/pages/viewpage.action?pageId=10396230 ## 业务逻辑 1.后台录入元数据信息 2.系统自动对元数据进行zip打包,并将zip包存入oss 3.对打包好的zip进行md5,取得md5后用于存入区块链交易的memo中 4.交易成功后回填交易信息(交易哈希,交易时间,区块高度) 注意: 1.由于EOS服务器资源根据当前交易量动态调整交易所耗费的资源手续费,可能会交易失败,系统会自动重试3次,每次间隔10S 2.由于钱包服务运行一段时间会自动停止,引入自动检测脚本,停止后重新启动 3.溯源二维码地址(鸡蛋上喷涂):http://uptoyo.com/qw2 会自动跳转到 http://trace.uptoyo.com/qw2 ## 区块链交易逻辑 1.EOS账号:chxqsuyuanaa,chxqsuyuanbb 2.每次转账金额:0.0001 EOS 3.每次随机判断是chxqsuyuanaa->chxqsuyuanbb,还是chxqsuyuanbb->chxqsuyuanaa 转账失败原因: 1.账号质押资源不够,一般都是CPU算力不够,交易越多越频繁,需要资源越多