{"id":29336172,"url":"https://github.com/dev-protocol/event-saver","last_synced_at":"2026-05-15T01:36:52.636Z","repository":{"id":37029961,"uuid":"266023401","full_name":"dev-protocol/event-saver","owner":"dev-protocol","description":"Retrieve event data and save it to DB","archived":false,"fork":false,"pushed_at":"2026-05-12T13:43:44.000Z","size":1239,"stargazers_count":0,"open_issues_count":28,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-05-12T15:35:40.589Z","etag":null,"topics":["azure-functions","graphql"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dev-protocol.png","metadata":{"files":{"readme":"README.JA.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-05-22T05:09:20.000Z","updated_at":"2021-03-12T06:37:39.000Z","dependencies_parsed_at":"2023-10-11T00:57:35.568Z","dependency_job_id":"3e839059-7f70-42ff-99ca-651c23fb684c","html_url":"https://github.com/dev-protocol/event-saver","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dev-protocol/event-saver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-protocol%2Fevent-saver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-protocol%2Fevent-saver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-protocol%2Fevent-saver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-protocol%2Fevent-saver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dev-protocol","download_url":"https://codeload.github.com/dev-protocol/event-saver/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-protocol%2Fevent-saver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33050400,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"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":["azure-functions","graphql"],"created_at":"2025-07-08T05:19:54.000Z","updated_at":"2026-05-15T01:36:52.630Z","avatar_url":"https://github.com/dev-protocol.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 概要\n\nEvent-Viewer で参照するイベント情報をブロックチェーンから取得し、Postgres に保存するツール。Azure Functions で動作する。\n\n# ローカル開発セットアップ\n\n## コアツールインストール\n\nAzure Functions をローカルで動作させるために、下記コマンドでツールをインストールする。\n\n```\nbrew tap azure/functions\nbrew install azure-functions-core-tools@3\n```\n\n## DB セットアップ\n\nデータを保存するためのデータベースをローカルに構築する。事前に docker desktop など、docker が稼働する環境の構築を完了しておくこと。\n\n```\ncd local_test/db\ndocker-compose up -d\n```\n\n下記コマンドで DB に接続することができる\n\n```\npsql postgresql://testuser@localhost:5432/testdb\nパスワード：testpassword\n```\n\n## 環境変数\n\n設定するファイルは local.settings.json。下記の 4 つ以外はそのままで大丈夫。\n\n```\nWEB3_URL: web3.js に渡す URL\nDISCORD_WEBHOOK_URL_INFO：Discord に info 情報を通知するための URL\nDISCORD_WEBHOOK_URL_WARNING：Discord に warning 情報を通知するための URL\nDISCORD_WEBHOOK_URL_ERROR：Discord に error 情報を通知するための URL\n\n```\n\n## 関連ライブラリインストール\n\n```\nnpm install\n```\n\n## azurite 起動\n\nTime Trigger などで必要なツールを別画面などで起動する。\n\n```\nazurite -l ~/azurite\n```\n\n## Azure Functions 起動\n\n下記コマンドで Azure Functions が稼働する。\n\n```\nnpm start\n```\n\n今すぐテスト実行したいときは下記コマンドを実行するといい\n\n```\nmarket-factory-createを実行したい場合\n\ncurl --request POST -H \"Content-Type:application/json\" --data '{}' http://localhost:7071/admin/functions/market-factory-create\n\nhost.jsonに\n\n\t\"functions\": [\"dev-property-transfer\"]\n\nと記載すると指定した関数のみ起動するため、便利\n```\n\n## コンソールセットアップ\n\nLinux、Windows の場合は必要に応じてパラメータを変更してください。\nhttps://hasura.io/docs/1.0/graphql/manual/deployment/docker/index.html\n\n```\ncd local_test/console\ndocker-compose up -d\n```\n\n下記 URL をブラウザで開くとコンソールが起動する\n\n```\nhttp://localhost:8080/console\n```\n\nまた下記コマンドでもデータを取得することができる\n\n```\ncurl -X POST -H \"Content-Type: application/json\" -H \"x-hasura-admin-secret: hasurakey\" --data '{ \"query\": \"{ market_factory_create { block_number } }\" }' http://localhost:8080/v1/graphql\n```\n\n# 新規関数を追加する場合\n\n新しいコントラクトがデプロイされたり、新しいイベントの情報を取得したい場合の手順を記述する\n\n## 関数パッケージ作成\n\nカレントで下記コマンドを実行する。\n\n```\nhogehoge-factoryコントラクトのcreateイベントの場合\n\nfunc new --template \"Timer trigger\"  --language TypeScript --name hogehoge-factory-create\n```\n\n## テーブル定義の追加\n\nlocal_test/docker/db/init 　以下に create の SQL 文を追加する\nentities 　以下に テーブル定義を追加する\n\nあとは他の関数をみてよしなにやってください。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev-protocol%2Fevent-saver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdev-protocol%2Fevent-saver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev-protocol%2Fevent-saver/lists"}