{"id":23477540,"url":"https://github.com/rwth-acis/las2peer-registry-contracts","last_synced_at":"2025-04-14T20:22:08.022Z","repository":{"id":33260448,"uuid":"150297581","full_name":"rwth-acis/las2peer-registry-contracts","owner":"rwth-acis","description":"Solidity smart contracts for the las2peer Service Registry","archived":false,"fork":false,"pushed_at":"2023-04-29T11:44:10.000Z","size":437,"stargazers_count":4,"open_issues_count":9,"forks_count":0,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-03-28T08:41:20.608Z","etag":null,"topics":["blockchain","ethereum-client","ganache-cli","las2peer","service-registry","truffle"],"latest_commit_sha":null,"homepage":null,"language":"Solidity","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/rwth-acis.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":"2018-09-25T16:38:38.000Z","updated_at":"2022-08-09T17:43:47.000Z","dependencies_parsed_at":"2024-12-24T18:40:30.389Z","dependency_job_id":null,"html_url":"https://github.com/rwth-acis/las2peer-registry-contracts","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-acis%2Flas2peer-registry-contracts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-acis%2Flas2peer-registry-contracts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-acis%2Flas2peer-registry-contracts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-acis%2Flas2peer-registry-contracts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rwth-acis","download_url":"https://codeload.github.com/rwth-acis/las2peer-registry-contracts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248952540,"owners_count":21188460,"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","ethereum-client","ganache-cli","las2peer","service-registry","truffle"],"created_at":"2024-12-24T18:27:33.026Z","updated_at":"2025-04-14T20:22:08.001Z","avatar_url":"https://github.com/rwth-acis.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# las2peer Service Registry Smart Contracts\n\nThis repo contains Solidity smart contracts for an Ethereum-based service registry for [las2peer](https://github.com/rwth-acis/las2peer).\n\n## Development Status\n\nThe contracts are very much a work in progress and not ready for production use.\nHowever, you can try out the development environment and play around with the contracts in an IDE like [Remix](https://remix.ethereum.org/) or on the command line. \n\n## Installation \u0026 Dependencies\n\nThis project is distributed as an [npm](https://www.npmjs.com/) package and uses the [truffle](https://truffleframework.com/truffle) Ethereum development framework as a build and deployment tool.\n\n### Installation\n\n* If you haven’t already, install [Node.js with npm](https://docs.npmjs.com/getting-started/installing-node#install-npm--manage-npm-versions).\n* Clone this repo and run `npm install` in the root folder. This will install truffle and other dependencies.\n\n### Ethereum client setup\n\nYou are free to use any blockchain and [JSON-RPC](https://github.com/ethereum/wiki/wiki/JSON-RPC)-enabled Ethereum client (adjust `truffle.js` accordingly), but the simplest way is to use [ganache-cli](https://github.com/trufflesuite/ganache-cli), which is included as a developer dependency. It should suffice to run:\n\n```sh\nnpm run start-ganache\n```\n\nAnd later:\n\n```sh\nnpm run stop-ganache\n```\n\nThat’s it — the default configuration is fine. This sets up a local blockchain for development purposes and serves its API on port 8545. Don’t worry, with these settings, mining blocks does not fry your CPU. By default, the blockchain data is not persisted, i.e., restarting ganache will give you a blank slate. \n\nIf you actually want to see what’s going on, run `./node_modules/.bin/ganache-cli` directly, or even install and run the [Ganache GUI](https://truffleframework.com/ganache) for a pretty visual interface.\n\n\u003cdetails\u003e\n\u003csummary\u003e\nOptional: set up convenient shortcuts for the truffle and ganache-cli executables.\n\u003c/summary\u003e\n\nTruffle, ganache-cli, and other developer dependencies’ binaries can be found in `./node_modules/.bin/`. If you find this inconvenient and would prefer to access them simply by their name, you have several options.\n\n1. Install them globally with npm, e.g., `npm install --global truffle`. This makes sense if you want to use a tool in other projects too.\n2. Set up an alias for each tool you want to use, e.g., `alias truffle=\"$(realpath ./node_modules/.bin/truffle)\"`. \n3. Modify your `PATH`, e.g., `export PATH=\"$(realpath ./node_modules/.bin):PATH\"`, if you want to make all tools from the `.bin` directory available. \n\nTo make the alias or PATH persistent, put the commands with the absolute path [in your shell configuration script](https://wiki.archlinux.org/index.php/Bash#Aliases).\n\u003c/details\u003e\n\n## Deploying contracts and running tests\n\nThe compilation of the contracts, deployment of the bytecode contracts to the blockchain, and running tests is all handled by truffle.\n\n\nCompilation and deployment can be run manually via truffle’s `compile` and `migrate` commands, but simply running the tests will also trigger these steps if necessary. Thus, simply try: \n\n```sh\nnpm run test\n```\n\nThis requires a running Ethereum client as described above.\n\n\u003c!--\nDOCUMENTATION TODO\n\n* describe how to set up Remix to try the contracts\n* explain all the stuff that took me a long time to figure out, e.g., the tests and accessing contract functions via the truffle JS wrapper \n--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frwth-acis%2Flas2peer-registry-contracts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frwth-acis%2Flas2peer-registry-contracts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frwth-acis%2Flas2peer-registry-contracts/lists"}