{"id":20308634,"url":"https://github.com/joojscript/solidity_watcher","last_synced_at":"2026-05-14T05:36:41.794Z","repository":{"id":57550488,"uuid":"465411761","full_name":"joojscript/solidity_watcher","owner":"joojscript","description":"A tiny .sol watcher to work with Solidity contracts compilation JIT!","archived":false,"fork":false,"pushed_at":"2022-03-09T19:14:17.000Z","size":29,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-07T01:14:49.466Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joojscript.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-02T17:49:51.000Z","updated_at":"2024-09-29T19:33:59.000Z","dependencies_parsed_at":"2022-08-29T20:41:19.850Z","dependency_job_id":null,"html_url":"https://github.com/joojscript/solidity_watcher","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/joojscript/solidity_watcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joojscript%2Fsolidity_watcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joojscript%2Fsolidity_watcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joojscript%2Fsolidity_watcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joojscript%2Fsolidity_watcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joojscript","download_url":"https://codeload.github.com/joojscript/solidity_watcher/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joojscript%2Fsolidity_watcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33012626,"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":[],"created_at":"2024-11-14T17:23:19.766Z","updated_at":"2026-05-14T05:36:41.778Z","avatar_url":"https://github.com/joojscript.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Solidity Watcher\n\nA **very** tiny watcher for **Solidity Compiler** which runs in it own proccess, with ease to use.\n\n### How the watcher works?\n\nIt looks into your environment, and try to find any `solc` (the Solidity compiler) and tries to run it, otherwise, it will just install a local copy of the `solc` latest release (or any version you want to specify).\n\n## Installation\n\nThe package is [available in Hex](https://hex.pm/packages/solidity_watcher/0.0.1), and can be installed\nby adding `solidity_watcher` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:solidity_watcher, \"~\u003e 0.1.0\"}\n  ]\nend\n```\n\n## Available Configuration\n\nYou can add all of these keys to `config/config.exs`, and the watcher will be set:\n\n```elixir\n# General application configuration\nimport Config\n\n# Configures the endpoint\nconfig :solidity_watcher,\n  contracts_path: \"contracts/*.sol\", \n  output_path: \"solidity_build\",\n  version: \"8.0.2\",\n  solc_path: \"/usr/share/applications/solc\" # If already set on PATH, just ignore it.\n```\n\n- **contracts_path:** The path in which the compiler will look for Solidity contracts. Do not forget to add the wildcard (*.sol), or any specific file (test.sol);\n- **output_path**: The path in which the compiler will output the compiled files from Solidity Compiler.\n- **version:** In case the *solc_path* variable isn't set, or can't be found, the watcher will look for the releases from Solidity's Github repo. By default, the latest version, but you can always specify an specific one.\n- **solc_path**: This variable, if set, explicit the path to the solc compiler. If you have it already installed, but not under PATH (if it is already in your path, than the watcher can find it).\n\n---\n\nThe expected behavior is something like this:\n\n```bash\n==\u003e solidity_watcher\nCompiling 1 file (.ex)\n[info] Running CypherWeb.Endpoint with cowboy 2.9.0 at 127.0.0.1:4000 (http)\n[info] Access CypherWeb.Endpoint at http://localhost:4000\n[info] Compiler run successful. Artifact(s) can be found in directory \"solidity_build\".\n[watch] build finished, watching for changes...\n\nRebuilding...\nDone in 206ms.\n\u003cPROJECT-PATH\u003e/contracts/test.sol was updated. Recompiling...\n[info] Compiler run successful. Artifact(s) can be found in directory \"solidity_build\".\n\u003cPROJECT-PATH\u003e/contracts/test.sol was updated. Recompiling...\n[info] Compiler run successful. Artifact(s) can be found in directory \"solidity_build\".\n```\n\n---\n\n⚠️ **Warning**: A known error that might occur, is the following:\n\n```elixir\n[error] backend port not found: :inotifywait\n```\n\nIn this case, the probability is that you don't have `inotify-tools` installed, which is a requirement for linux users, se more about that [here](https://github.com/synrc/fs).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoojscript%2Fsolidity_watcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoojscript%2Fsolidity_watcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoojscript%2Fsolidity_watcher/lists"}