{"id":22302997,"url":"https://github.com/xrplwin/xwa","last_synced_at":"2025-07-29T03:33:26.894Z","repository":{"id":61644344,"uuid":"512185635","full_name":"XRPLWin/XWA","owner":"XRPLWin","description":"XRP Ledger Analyzer","archived":false,"fork":false,"pushed_at":"2025-06-26T18:44:22.000Z","size":3233,"stargazers_count":7,"open_issues_count":17,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-26T19:40:53.359Z","etag":null,"topics":["laravel","php","xrpl","xrplwin"],"latest_commit_sha":null,"homepage":"https://analyzer.xrpl.win","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/XRPLWin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-07-09T12:55:02.000Z","updated_at":"2025-06-26T18:44:26.000Z","dependencies_parsed_at":"2023-10-05T04:32:32.621Z","dependency_job_id":"3d6fbd37-35ab-4cb9-a073-3398e47379ac","html_url":"https://github.com/XRPLWin/XWA","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/XRPLWin/XWA","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XRPLWin%2FXWA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XRPLWin%2FXWA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XRPLWin%2FXWA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XRPLWin%2FXWA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XRPLWin","download_url":"https://codeload.github.com/XRPLWin/XWA/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XRPLWin%2FXWA/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267623131,"owners_count":24117131,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["laravel","php","xrpl","xrplwin"],"created_at":"2024-12-03T18:42:23.283Z","updated_at":"2025-07-29T03:33:26.338Z","avatar_url":"https://github.com/XRPLWin.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XRPLWinAnalyzer\n\nXRP Ledger Analyzer (WORK IN PROGRESS)\n\n## Requirements\n\n- PHP ^8.2.4\n- swoole (PECL)\n- Nginx\n- Supervisor (too keep swoole workers up)\n- Varnish (optional)\n\n## Installation\n\nInstall [composer](https://getcomposer.org/download/) to composer.phar\n\n```\nphp composer.phar install --no-dev\ncp .env.example .env\nphp artisan key:generate\n# set .env variables now\n```\n\nPermissions\n```\nchown -R root:daemon .\nfind storage/ -type d -exec chmod 770 {} \\;\nfind storage/ -type f -exec chmod 760 {} \\;\n```\n\nPrepare reaload.sh\n```\ncp reload.sh.sample reload.sh\nchmod +x reload.sh\n# edit reload.sh to change nginx cache folder if needed\n```\n\n### Database (MySQL)\n\nCharacter set: `utf8mb4`  \nCollation: `utf8mb4_bin`\n\nCreate database:\n```SQL\nCREATE DATABASE `xwa` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin';\n```\n\n## Supervisor\n\n### Swoole worker\nCustomize depending of your needs, 12 workers per 1 CPU tested optimal.  \nCD to xwa project dir.\n```\ncp ./documentation/supervisor/octane.ini /etc/supervisor/conf.d/octane.conf\n# change name, log filename and port to match nginx vhost\n```\nNote: edit `octane.conf` and make sure path to artisan is correct, you would want to also change log name.\n\n### Account sync queue workers (only if you using sync_type=account)\nCurrently 3 jobs supported.  \nCopy `/documentation/supervisor/queue.ini` to `/etc/supervisor/conf.d/queue.conf`\n\n\n### Enabling and restarting supervisor\n```\n# Tell supervisor to bring the changes into effect\nsudo supervisorctl update\n\n# Restart supervisor service\nsudo supervisorctl restart all\n```\n\n### Nginx vhost\nNow while we have swoole workers running locally on port 8000 we need to expose them to public using nginx.  \nCD to xwa project dir.\n```\ncp ./documentation/nginx/xwa_swoole.conf /opt/nginx/conf/vhosts/xwa_swoole.conf\n# edit to match swoole port and nginx cache directory\n```\n\n### Full restart\nMake sure you stop Jobs and wait until all are finished!\n```\n./reload.sh\n```\n\n### Task scheduler\nEdit crontab: `export VISUAL=nano \u0026\u0026 crontab -e`\n\n```\n* * * * * /opt/php/bin/php /opt/nginx/htdocs/xwa/artisan schedule:run \u003e\u003e /dev/null 2\u003e\u00261\n```\n\n## Tests\nTo execute all tests run:\n\n`php artisan test` or `./vendor/bin/phpunit`\n\nTo execute only Unit tests run:\n\n`php artisan test --testsuite=Unit`\n\nTo execute only Feature tests run:\n\n`php artisan test --testsuite=Feature`\n\nTo learn more on how to run Laravel tests read [official documentation](https://laravel.com/docs/10.x/testing).\n\n## Helpers\n\n```\n# Switch to superuser:\nsudo su -\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxrplwin%2Fxwa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxrplwin%2Fxwa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxrplwin%2Fxwa/lists"}