{"id":21561752,"url":"https://github.com/synonymdev/slashtags-account-feed-daemon","last_synced_at":"2025-07-16T16:31:04.436Z","repository":{"id":91722574,"uuid":"516631083","full_name":"synonymdev/slashtags-account-feed-daemon","owner":"synonymdev","description":"Slashtags Exchange Feed Deamon","archived":true,"fork":false,"pushed_at":"2023-08-31T07:40:45.000Z","size":402,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-18T13:02:02.869Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/synonymdev.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}},"created_at":"2022-07-22T06:07:26.000Z","updated_at":"2024-06-04T08:41:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa09d29d-c341-4fea-9cc9-37fbd4fc8524","html_url":"https://github.com/synonymdev/slashtags-account-feed-daemon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/synonymdev/slashtags-account-feed-daemon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synonymdev%2Fslashtags-account-feed-daemon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synonymdev%2Fslashtags-account-feed-daemon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synonymdev%2Fslashtags-account-feed-daemon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synonymdev%2Fslashtags-account-feed-daemon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/synonymdev","download_url":"https://codeload.github.com/synonymdev/slashtags-account-feed-daemon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synonymdev%2Fslashtags-account-feed-daemon/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265524625,"owners_count":23782013,"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","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":[],"created_at":"2024-11-24T09:27:53.201Z","updated_at":"2025-07-16T16:31:04.426Z","avatar_url":"https://github.com/synonymdev.png","language":"JavaScript","readme":"# Slashtags Exchange Feeds Daemon\n\nA simple HTTP RPC deamon to enable publishing Slashtags Exchange Feeds. Can be used either as a [Library](#import-as-library) or as a [Daemon](#run-as-daemon)\n\n## Import as Library\n\nInstall as a dependency\n\n```sh\nnpm i @synonymdev/feeds-daemon \n```\n\nImport to your code and instantiate providing corresponding parameters and start the server\n\n```js\nconst { Feeds } = require('@synonymdev/feeds-daemon')\nconst feeds = new Feeds({\n    db: {\n        name: 'feeds-db',\n        path: \"./data\"\n    },\n    slashtags: \"./\",\n    feed_schema: \"\u003cfeed schema json file\u003e\"\n})\n\nawait feeds.start()\n```\n\nYou can now call various functions\n```js\nlet feed = await feeds.getFeed({ feed_id: \"123123\" })\n```\n\n## Run as Daemon\n\n**1. Setup config**\nGo to `./schema/config.json` Update config items.\n\n**2. Update your feeds slashfeed.json file**\nThis schema file allows feed consumers to parse the feed.\n\n```\ngit clone\nnpm install\nmkdir ./db\nnode start.js\n```\n\n### *Enable detailed logs specifying env variable**\n\n`DEBUG=stfeed:*`\n\n###  *Run with PM2\n\n*`pm2 start`\n\n## Test \u0026 Development\nThere are tests for all methods located in `./test` dir. You can run them by `npm run test`\nThere examples in `./examples` folder. They require running daemon. Run `npm run start` to start daemon and in separate terminal run `npm run example:account` to start generating account feed. See [examples readme](./example/README.md) for more details\n\n## RPC API\n\n**A Postman collection has been provided.**\n\n### Create Feed\nCreate a feed request\n``` sh\n/// Request Body\ncurl --location --request POST 'http://localhost:8787/v0.1/rpc' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"method\":\"createFeed\",\n    \"params\":{\n        \"feed_id\":\"satoshi123\"\n    }\n}'\n```\nResponse\n``` json\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"925b10c27f4ad350ab3ef7e027605fd83388c999a890cfdd8e6061656b5a5513\",\n    \"result\": {\n        \"slashdrive\": {\n            \"key\": \"\u003cstring\u003e\",\n            \"encryption_key\": \"\u003cstring\u003e\"\n        }\n    }\n}\n```\n\n### Update Feed\nUpdate feed request\n``` sh\ncurl --location --request POST 'http://localhost:8787/v0.1/rpc' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"method\":\"updateFeedBalance\",\n    \"params\": {\n        \"feed_id\":\"satoshi123\",\n        \"fields\": [\n          {\n            \"name\": \"Bitcoin\",\n            \"value\": 1.442\n          }\n        ]\n    }\n}'\n```\nResponse\n``` json\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"4fefad839fa440cc2a85d8178d1d895fa1044460080b8fe1a26b4942aa86c07f\",\n    \"result\": true\n}\n```\n\n### Get Feed\n``` sh\ncurl --location --request POST 'http://localhost:8787/v0.1/rpc' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"method\":\"getFeed\",\n    \"params\":{ \"feed_id\" : \"satoshi123\" }\n}'\n```\nResponse\n``` json\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"c6ccd88f842330ab60153b5fb512101d2ab76824189eee5690f9070ebe18cb87\",\n    \"result\": {\n        \"feed_key\": \"\u003cstring\u003e\",\n        \"encrypt_key\": \"\u003cstring\u003e\"\n    }\n}\n```\n\n### Delete Feed\n```sh\ncurl --location --request POST 'http://localhost:8787/v0.1/rpc' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"method\":\"deleteFeed\",\n    \"params\":{ \"feed_id\" : \"satoshi123\" }\n}'\n```\nResponse\n``` json\n{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"c6ccd88f842330ab60153b5fb512101d2ab76824189eee5690f9070ebe18cb87\",\n    \"result\": {\n        \"deleted\": \"true\"\n    }\n}\n```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynonymdev%2Fslashtags-account-feed-daemon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynonymdev%2Fslashtags-account-feed-daemon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynonymdev%2Fslashtags-account-feed-daemon/lists"}