{"id":17329835,"url":"https://github.com/fgimenez/gasmask","last_synced_at":"2026-05-03T04:40:49.674Z","repository":{"id":151240165,"uuid":"115875365","full_name":"fgimenez/gasmask","owner":"fgimenez","description":null,"archived":false,"fork":false,"pushed_at":"2018-01-03T08:45:12.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T11:11:06.490Z","etag":null,"topics":["blockchain","ci-cd","development","ethereum","kubernetes","testing"],"latest_commit_sha":null,"homepage":null,"language":null,"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/fgimenez.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-31T16:58:48.000Z","updated_at":"2018-01-03T09:14:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"199d3e99-8cac-437d-94e1-114449743479","html_url":"https://github.com/fgimenez/gasmask","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgimenez%2Fgasmask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgimenez%2Fgasmask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgimenez%2Fgasmask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgimenez%2Fgasmask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fgimenez","download_url":"https://codeload.github.com/fgimenez/gasmask/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245791927,"owners_count":20672669,"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":["blockchain","ci-cd","development","ethereum","kubernetes","testing"],"created_at":"2024-10-15T14:49:34.242Z","updated_at":"2026-05-03T04:40:49.635Z","avatar_url":"https://github.com/fgimenez.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CircleCI](https://circleci.com/gh/fgimenez/gasmask.svg?style=svg)](https://circleci.com/gh/fgimenez/gasmask)\n\n# Gasmask - private ethereum network on top of kubernetes\n\ngasmask allows you to run a private, single-node ethereum network on a kubernetes\ncluster. The goal is creating an ephemeral, disposable ethereum environment for\nmaking it easy to get in touch with the technology, run safe experiments with the\nEVM, test  your smart contracts or enhacing your delivery pipelines.\n\n# Requirements\n\nFor running locally you need:\n\n* [minikube][minikube]: let's you run a local kuberentes cluster on a virtual machine.\n* [kubectl][kubectl]: command line utility to interact with kubernetes.\n* [helm][helm]: package manager for kubernetes, gasmask is a helm package.\n\n[minikube]: https://github.com/kubernetes/minikube\n[kubectl]: https://kubernetes.io/docs/tasks/tools/install-kubectl/\n[helm]: https://github.com/kubernetes/helm\n\nGasmask has been developed and tested on Ubuntu 17.10, but given the availability of\nthe requirements it should work on OSX and Windows as well.\n\n# How it works\n\nFor a complete running example take a look at the [CI script][ci-script]. In order to\nrun gasmask locally first you need to spin up your local kubernetes cluster:\n\n```\n$ minikube start\n```\nThen, initialize the server part of the helm package manager:\n```\n$ helm init\n```\nThis can take a little bit to finish, check for the tiller pod to have `Running`\nstatus:\n```\n$ kubectl get pods -n kube-system -l name=tiller,app=helm\nNAME                            READY     STATUS    RESTARTS   AGE\ntiller-deploy-7777bff5d-f8vwm   1/1       Running   0          1m\n```\nNow you are ready to deploy gasmask, first clone this repo and change to the project\ndirectory:\n```\n$ git clone https://github.com/fgimenez/gasmask\n$ cd gasmask\n```\nThen, install the gasmask chart:\n```\n$ helm install -n gasmask ./chart\n```\nNow you should wait until the eth-miner pod is reported as running:\n```\n$ kubectl get pods -l app=eth-miner\nNAME                                    READY     STATUS    RESTARTS   AGE\neth-miner-deployment-76c74c575d-8gdbx   1/1       Running   0          1m\n```\nOk! All is ready to interact with the node, you can open a console session with:\n```\n$ pod_name=$(kubectl get pods -l app=eth-miner | grep eth | cut -d ' ' -f 1)\n$ kubectl exec ${pod_name} -c eth-miner -t -i -- geth attach ipc:///data/geth.ipc\n```\nor directly execute a web3 command with:\n```\n$ kubectl exec ${pod_name} -c eth-miner -t -i -- geth --exec 'eth.getBalance(eth.accounts[0])' attach ipc:///data/geth.ipc\n```\n\n[ci-script]: https://github.com/fgimenez/gasmask/blob/master/.circleci/config.yml#L17\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffgimenez%2Fgasmask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffgimenez%2Fgasmask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffgimenez%2Fgasmask/lists"}