![PyPI Now Supports iOS and Android Wheels for Mobile Python Development](https://cdn.sanity.io/images/cgdhsj6q/production/96416c872705517a6a65ad9646ce3e7caef623a0-1024x1024.webp?w=400&fit=max&auto=format)
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
@energyweb/contracts
Advanced tools
Onchain module of the worker-contract core SDK of Energyweb Foundation.
The present package is the onchain module of the Greenproof core SDK of Energyweb Foundation.
The on-chain component of the greenProof core module is an upgradable proxied module, implementing the EIP-2535 standard, which is a standard recommended in the upgrades section of the EIP-1155 token standard documentation.
This upgradable pattern is called a Diamond standard architecture, where all smart contracts are organized as different facets of one single diamond. It ultimately allows users to trigger any on-chain function of any Greenroof component using one single and stable contract address.
As mentioned in the Ethereum documentation :
The diamond pattern can be considered an improvement on the proxy pattern. Diamond patterns differ from proxy patterns because the diamond proxy contract can delegates function calls to more than one logic contract.
The diamond upgrade pattern has some advantages over traditional proxy upgrade patterns:
It allows you to upgrade a small part of the contract without changing all of the code. Using the proxy pattern for upgrades requires creating an entirely new logic contract, even for minor upgrades.
All smart contracts (including logic contracts used in proxy patterns) have a 24KB size limit, which can be a limitation—especially for complex contracts requiring more functions. The diamond pattern makes it easy to solve this problem by splitting functions across multiple logic contracts.
Proxy patterns adopt a catch-all approach to access controls. An entity with access to upgrade functions can change the entire contract. But the diamond pattern enables a modular permissions approach, where you can restrict entities to upgrading certain functions within a smart contract.
Each smartcontract component provided in contracts/facets
directory is then a facet of this greenproof Diamond.
Voting component : the voting logic is implemented in the VotingFacet.sol contract
NFT Issuer component : the issuance component is encapsulated inside the IssuerFacet.sol contract
Additional utility facets are provided by the Solidstate diamond implementation, which help conforming to the EIP-2535 standard specification
npm install
npm run test:e2e
This command will run unit tests for the whole greenproof-contracts
components. You can target one specific component to test inside the greenproof core module :
issuerFacet.spec.js
handles unit tests for the Issuance component.npm run issuer:test
test/voting handles unit tests for the Voting component
npm run voting:test
greenproof.spec.js
runs tests on the proxy management and the diamond inspectionnpm run greenproof:test
To run coverage
test :
npm run coverage:test
For questions and support please use Energy Web's Discord channel
Or reach out to us via email: 247enquiries@energyweb.org
The Energy Web Decentralized Operating System is a blockchain-based, multi-layer digital infrastructure.
The purpose of EW-DOS is to develop and deploy an open and decentralized digital operating system for the energy sector in support of a low-carbon, customer-centric energy future.
We develop blockchain technology, full-stack applications and middleware packages that facilitate participation of Distributed Energy Resources on the grid and create open market places for transparent and efficient renewable energy trading.
To learn about more about the EW-DOS tech stack, see our documentation.
For an overview of the energy-sector challenges our use cases address, go here.
For a deep-dive into the motivation and methodology behind our technical solutions, we encourage you to read our White Papers:
FAQs
Onchain module of the worker-contract core SDK of Energyweb Foundation.
The npm package @energyweb/contracts receives a total of 1 weekly downloads. As such, @energyweb/contracts popularity was classified as not popular.
We found that @energyweb/contracts demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 8 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.