diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-17 03:18:41 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-17 03:18:41 +0000 |
| commit | 154709ff3e59bf4fed71226a64626da393fe0a9c (patch) | |
| tree | ce8a22d22a5f8aede07c376562880c78c692ec38 /python-nevermined-contracts.spec | |
| parent | f473f9618388b2a853009997185bcaa289d7f11f (diff) | |
automatic import of python-nevermined-contracts
Diffstat (limited to 'python-nevermined-contracts.spec')
| -rw-r--r-- | python-nevermined-contracts.spec | 414 |
1 files changed, 414 insertions, 0 deletions
diff --git a/python-nevermined-contracts.spec b/python-nevermined-contracts.spec new file mode 100644 index 0000000..5caaffa --- /dev/null +++ b/python-nevermined-contracts.spec @@ -0,0 +1,414 @@ +%global _empty_manifest_terminate_build 0 +Name: python-nevermined-contracts +Version: 2.1.0 +Release: 1 +Summary: Smart Contracts for Nevermined Data platform +License: Apache Software License 2.0 +URL: https://github.com/nevermined-io/contracts +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b9/5b/43249356f971b03e61db90b474f2908dc36ec3a2d738a080204e2effbaa4/nevermined-contracts-2.1.0.tar.gz +BuildArch: noarch + + +%description +## 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](https://github.com/nevermined-io/tools), +a docker compose application to run all the Nevermined stack. +### Public Network development +For deploying in a public network check [ReleaseProcess.md](./docs/ReleaseProcess.md) first. +### Local development +As a pre-requisite, you need: +* Node.js +* yarn +Clone the project and install all dependencies: +```bash +git clone git@github.com:nevermined-io/contracts.git +cd nevermined-contracts/ +``` +Install dependencies: +```bash +yarn +``` +Compile the solidity contracts: +```bash +yarn compile +``` +In a new terminal, launch an Ethereum RPC client, e.g. hardhat: +```bash +npx hardhat node --port 18545 +``` +Switch back to your other terminal and deploy the contracts: +```bash +yarn deploy:external +``` +For redeployment run this instead +```bash +yarn clean +yarn compile +yarn deploy:external +``` +Upgrade contracts [**optional**]: +```bash +yarn upgrade:external +``` +## Testing +Run tests with `yarn test`, e.g.: +```bash +yarn test test/unit/agreements/AgreementStoreManager.Test.js +``` +### Code Linting +Linting is setup for `JavaScript` with [ESLint](https://eslint.org) & Solidity with [Ethlint](https://github.com/duaraghav8/Ethlint). +Code style is enforced through the CI test process, builds will fail if there're any linting errors. +```bash +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](https://artifacts.nevermined.rocks/). +You can find more information about the this into the [Release Process documentation](docs/ReleaseProcess.md). +You can browse the different artifacts deployed here: http://artifacts-nevermined-rocks.s3-website-us-east-1.amazonaws.com/ +Also you can find a complete list here: https://artifacts.nevermined.rocks/ +## Packages +To facilitate the integration of `nevermined-contracts` there are `Python`, `JavaScript` packages ready to be integrated. Those libraries include the Smart Contract ABI's. +Using these packages helps to avoid compiling the Smart Contracts and copying the ABI's manually to your project. In that way the integration is cleaner and easier. +The packages provided currently are: +* JavaScript `NPM` package - As part of the [@nevermined-io npm organization](https://www.npmjs.com/settings/nevermined-io/packages), + the [npm nevermined-contracts package](https://www.npmjs.com/package/@nevermined-io/contracts) provides the ABI's + to be imported from your `JavaScript` code. +* Python `Pypi` package - The [Pypi nevermined-contracts package](https://pypi.org/project/nevermined-contracts/) provides + the same ABI's to be used from `Python`. +The packages contains all the content from the `doc/` and `artifacts/` folders. +In `JavaScript` they can be used like this: +Install the `nevermined-contracts` `npm` package. +```bash +npm install @nevermined-io/contracts +``` +Load the ABI of the `NeverminedToken` contract on the `Rinkeby` network: +```javascript +const NeverminedToken = require('@nevermined-io/contracts/artifacts/NeverminedToken.rinkeby.json') +``` +The structure of the `artifacts` is: +```json +{ + "abi": "...", + "bytecode": "0x60806040523...", + "address": "0x45DE141F8Efc355F1451a102FB6225F1EDd2921d", + "version": "v0.9.1" +} +``` +## Documentation +* [Contracts Documentation](doc/contracts/README.md) +* [Release process](doc/RELEASE_PROCESS.md) +* [Packaging of libraries](doc/PACKAGING.md) +* [Upgrading of contracts](doc/UPGRADES.md) +* [Template lifecycle](doc/TEMPLATE_LIFE_CYCLE.md) +## Prior Art +This project builds on top of the work done in open source projects: +* [zeppelinos/zos](https://github.com/zeppelinos/zos) +* [OpenZeppelin/openzeppelin-eth](https://github.com/OpenZeppelin/openzeppelin-eth) +## Attribution +This project is based in the Ocean Protocol [Keeper Contracts](https://github.com/oceanprotocol/keeper-contracts). +It keeps the same Apache v2 License and adds some improvements. See [NOTICE file](NOTICE). +## License +```text +Copyright 2022 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. +``` + +%package -n python3-nevermined-contracts +Summary: Smart Contracts for Nevermined Data platform +Provides: python-nevermined-contracts +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-nevermined-contracts +## 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](https://github.com/nevermined-io/tools), +a docker compose application to run all the Nevermined stack. +### Public Network development +For deploying in a public network check [ReleaseProcess.md](./docs/ReleaseProcess.md) first. +### Local development +As a pre-requisite, you need: +* Node.js +* yarn +Clone the project and install all dependencies: +```bash +git clone git@github.com:nevermined-io/contracts.git +cd nevermined-contracts/ +``` +Install dependencies: +```bash +yarn +``` +Compile the solidity contracts: +```bash +yarn compile +``` +In a new terminal, launch an Ethereum RPC client, e.g. hardhat: +```bash +npx hardhat node --port 18545 +``` +Switch back to your other terminal and deploy the contracts: +```bash +yarn deploy:external +``` +For redeployment run this instead +```bash +yarn clean +yarn compile +yarn deploy:external +``` +Upgrade contracts [**optional**]: +```bash +yarn upgrade:external +``` +## Testing +Run tests with `yarn test`, e.g.: +```bash +yarn test test/unit/agreements/AgreementStoreManager.Test.js +``` +### Code Linting +Linting is setup for `JavaScript` with [ESLint](https://eslint.org) & Solidity with [Ethlint](https://github.com/duaraghav8/Ethlint). +Code style is enforced through the CI test process, builds will fail if there're any linting errors. +```bash +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](https://artifacts.nevermined.rocks/). +You can find more information about the this into the [Release Process documentation](docs/ReleaseProcess.md). +You can browse the different artifacts deployed here: http://artifacts-nevermined-rocks.s3-website-us-east-1.amazonaws.com/ +Also you can find a complete list here: https://artifacts.nevermined.rocks/ +## Packages +To facilitate the integration of `nevermined-contracts` there are `Python`, `JavaScript` packages ready to be integrated. Those libraries include the Smart Contract ABI's. +Using these packages helps to avoid compiling the Smart Contracts and copying the ABI's manually to your project. In that way the integration is cleaner and easier. +The packages provided currently are: +* JavaScript `NPM` package - As part of the [@nevermined-io npm organization](https://www.npmjs.com/settings/nevermined-io/packages), + the [npm nevermined-contracts package](https://www.npmjs.com/package/@nevermined-io/contracts) provides the ABI's + to be imported from your `JavaScript` code. +* Python `Pypi` package - The [Pypi nevermined-contracts package](https://pypi.org/project/nevermined-contracts/) provides + the same ABI's to be used from `Python`. +The packages contains all the content from the `doc/` and `artifacts/` folders. +In `JavaScript` they can be used like this: +Install the `nevermined-contracts` `npm` package. +```bash +npm install @nevermined-io/contracts +``` +Load the ABI of the `NeverminedToken` contract on the `Rinkeby` network: +```javascript +const NeverminedToken = require('@nevermined-io/contracts/artifacts/NeverminedToken.rinkeby.json') +``` +The structure of the `artifacts` is: +```json +{ + "abi": "...", + "bytecode": "0x60806040523...", + "address": "0x45DE141F8Efc355F1451a102FB6225F1EDd2921d", + "version": "v0.9.1" +} +``` +## Documentation +* [Contracts Documentation](doc/contracts/README.md) +* [Release process](doc/RELEASE_PROCESS.md) +* [Packaging of libraries](doc/PACKAGING.md) +* [Upgrading of contracts](doc/UPGRADES.md) +* [Template lifecycle](doc/TEMPLATE_LIFE_CYCLE.md) +## Prior Art +This project builds on top of the work done in open source projects: +* [zeppelinos/zos](https://github.com/zeppelinos/zos) +* [OpenZeppelin/openzeppelin-eth](https://github.com/OpenZeppelin/openzeppelin-eth) +## Attribution +This project is based in the Ocean Protocol [Keeper Contracts](https://github.com/oceanprotocol/keeper-contracts). +It keeps the same Apache v2 License and adds some improvements. See [NOTICE file](NOTICE). +## License +```text +Copyright 2022 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. +``` + +%package help +Summary: Development documents and examples for nevermined-contracts +Provides: python3-nevermined-contracts-doc +%description help +## 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](https://github.com/nevermined-io/tools), +a docker compose application to run all the Nevermined stack. +### Public Network development +For deploying in a public network check [ReleaseProcess.md](./docs/ReleaseProcess.md) first. +### Local development +As a pre-requisite, you need: +* Node.js +* yarn +Clone the project and install all dependencies: +```bash +git clone git@github.com:nevermined-io/contracts.git +cd nevermined-contracts/ +``` +Install dependencies: +```bash +yarn +``` +Compile the solidity contracts: +```bash +yarn compile +``` +In a new terminal, launch an Ethereum RPC client, e.g. hardhat: +```bash +npx hardhat node --port 18545 +``` +Switch back to your other terminal and deploy the contracts: +```bash +yarn deploy:external +``` +For redeployment run this instead +```bash +yarn clean +yarn compile +yarn deploy:external +``` +Upgrade contracts [**optional**]: +```bash +yarn upgrade:external +``` +## Testing +Run tests with `yarn test`, e.g.: +```bash +yarn test test/unit/agreements/AgreementStoreManager.Test.js +``` +### Code Linting +Linting is setup for `JavaScript` with [ESLint](https://eslint.org) & Solidity with [Ethlint](https://github.com/duaraghav8/Ethlint). +Code style is enforced through the CI test process, builds will fail if there're any linting errors. +```bash +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](https://artifacts.nevermined.rocks/). +You can find more information about the this into the [Release Process documentation](docs/ReleaseProcess.md). +You can browse the different artifacts deployed here: http://artifacts-nevermined-rocks.s3-website-us-east-1.amazonaws.com/ +Also you can find a complete list here: https://artifacts.nevermined.rocks/ +## Packages +To facilitate the integration of `nevermined-contracts` there are `Python`, `JavaScript` packages ready to be integrated. Those libraries include the Smart Contract ABI's. +Using these packages helps to avoid compiling the Smart Contracts and copying the ABI's manually to your project. In that way the integration is cleaner and easier. +The packages provided currently are: +* JavaScript `NPM` package - As part of the [@nevermined-io npm organization](https://www.npmjs.com/settings/nevermined-io/packages), + the [npm nevermined-contracts package](https://www.npmjs.com/package/@nevermined-io/contracts) provides the ABI's + to be imported from your `JavaScript` code. +* Python `Pypi` package - The [Pypi nevermined-contracts package](https://pypi.org/project/nevermined-contracts/) provides + the same ABI's to be used from `Python`. +The packages contains all the content from the `doc/` and `artifacts/` folders. +In `JavaScript` they can be used like this: +Install the `nevermined-contracts` `npm` package. +```bash +npm install @nevermined-io/contracts +``` +Load the ABI of the `NeverminedToken` contract on the `Rinkeby` network: +```javascript +const NeverminedToken = require('@nevermined-io/contracts/artifacts/NeverminedToken.rinkeby.json') +``` +The structure of the `artifacts` is: +```json +{ + "abi": "...", + "bytecode": "0x60806040523...", + "address": "0x45DE141F8Efc355F1451a102FB6225F1EDd2921d", + "version": "v0.9.1" +} +``` +## Documentation +* [Contracts Documentation](doc/contracts/README.md) +* [Release process](doc/RELEASE_PROCESS.md) +* [Packaging of libraries](doc/PACKAGING.md) +* [Upgrading of contracts](doc/UPGRADES.md) +* [Template lifecycle](doc/TEMPLATE_LIFE_CYCLE.md) +## Prior Art +This project builds on top of the work done in open source projects: +* [zeppelinos/zos](https://github.com/zeppelinos/zos) +* [OpenZeppelin/openzeppelin-eth](https://github.com/OpenZeppelin/openzeppelin-eth) +## Attribution +This project is based in the Ocean Protocol [Keeper Contracts](https://github.com/oceanprotocol/keeper-contracts). +It keeps the same Apache v2 License and adds some improvements. See [NOTICE file](NOTICE). +## License +```text +Copyright 2022 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. +``` + +%prep +%autosetup -n nevermined-contracts-2.1.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-nevermined-contracts -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.0-1 +- Package Spec generated |
