Skip to main content

Smart Contracts for Nevermined Data platform

Project description

banner

Nevermined Smart Contracts

💧 Smart Contracts implementation of Nevermined in Solidity nevermined.io

Docker Build Status Build and Tests

Table of Contents


Get Started

For local development of nevermined-contracts you can either use Docker, or setup the development environment on your machine.

Docker

The simplest way to get started with is using the Nevermined Tools, a docker compose application to run all the Nevermined stack.

Public Network development

For deploying in a public network check ReleaseProcess.md first.

Local development

As a pre-requisite, you need:

  • Node.js
  • yarn

Clone the project and install all dependencies:

git clone git@github.com:nevermined-io/contracts.git
cd contracts/

Install dependencies:

yarn

Compile the solidity contracts:

yarn compile

In a new terminal, launch an Ethereum RPC client, e.g. hardhat:

npx hardhat node --port 18545

Switch back to your other terminal and deploy the contracts:

yarn deploy:external

For redeployment run this instead

yarn clean
yarn compile
yarn deploy:external

Upgrade contracts [optional]:

yarn upgrade:external

Testing

Run tests with yarn test, e.g.:

yarn test test/unit/agreements/AgreementStoreManager.Test.js

Code Linting

Linting is setup for JavaScript with ESLint & Solidity with Ethlint.

Code style is enforced through the CI test process, builds will fail if there're any linting errors.

yarn lint

Networks

When Nevermined contracts are deployed into different networks, the ABIs referring to the specific version deployed are copied into the Artifacts repository.

You can find more information about the this into the Release Process documentation.

For contracts older to v3.x please see the Legacy Artifacts Repository.

Documentation

Prior Art

This project builds on top of the work done in open source projects:

Attribution

This project is based in the Ocean Protocol Keeper Contracts. It keeps the same Apache v2 License and adds some improvements. See NOTICE file.

License

Copyright 2023 Nevermined AG
This product includes software developed at
BigchainDB GmbH and Ocean Protocol (https://www.oceanprotocol.com/)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nevermined-contracts-3.5.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

nevermined_contracts-3.5.0-py2.py3-none-any.whl (8.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file nevermined-contracts-3.5.0.tar.gz.

File metadata

  • Download URL: nevermined-contracts-3.5.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for nevermined-contracts-3.5.0.tar.gz
Algorithm Hash digest
SHA256 293c558ede5e312af5cd11b13ca423717cc648ccdcf30b1ffe4b06e3826f6764
MD5 09f857b88b608a74f6cf5af3c1ef0908
BLAKE2b-256 c83a4dc7669f11fd674f4e2464fa661138ae12f9a20ea296e3ebb08ab4ae89c7

See more details on using hashes here.

File details

Details for the file nevermined_contracts-3.5.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for nevermined_contracts-3.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5f68c89945b475cfcdd4736ab0fffd51e5e4b68473d6b0f92e3fc5ed910b8e59
MD5 544b11a734ab48df92ffc4d0bd650550
BLAKE2b-256 b35aa62600b82a7ccca1a86f97365ea7933c39953872f52159a04b53d8b564c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page