
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
@energyweb/algorithms
Advanced tools
Collection of algorithms used for performing matching between energy consumers and energy generators.
Collection of algorithms used for performing matching between energy consumers and energy generators.
Any input should match algorithm interface, therefore handling special cases like battery charging/discharging should be handled
before and after using the algorithm. One example workaround is to create special kind of id
(for consumers/generators) that will contain
some additional metadata, that for example the entity is a battery.
We expect consumptions and generations assetIds to be unique, that is have one read per device.
Each consumption has it's matching preferences.
Matches happen in rounds (more on that later). In each round not fulfilled consumption, and not used up generation is fed into next round. Therefore rounds determine matching priority. Whatever is matched in the same round in matched proportionally to consumption and available generation.
What gets matched with what in given matching round is determined by paths (that come from path strategies).
Path strategy essentially describes matching round, therefore it implies priority. For example if sitePathStrategy
is first in list of strategies, then consumers/generators in the same site will be matched first.
There are various way to connect consumers with generators (by energy priority preference, regional preference and so on).
As the path strategies are written in declarative way (and documented), I'll skip description of them. Please consult the code for details.
Matched volumes in given round are determined in this way:
Because asks are created first, and then they are narrowed to matches by generator it may happen, that an ask may not be resolved completely. In such case consumer will be named "leftoverConsumption", and passed to a next round of matching. If sum of all asks is lower than the generator available volume, then such generator will be named "leftoverGenerator", and passed to a next round of matching.
Leftovers from the last round of matching are considered leftovers from the whole matching process.
We don't use fraction of volumes. Therefore if assigning proportionally isn't possible without fractions, then the volume is assigned proportionally as much as possible, and then the volume that would become fraction is assigned to all entities by 1 (Wh) until the volume (whether the ask or generator's volume) is depleted.
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
Collection of algorithms used for performing matching between energy consumers and energy generators.
The npm package @energyweb/algorithms receives a total of 0 weekly downloads. As such, @energyweb/algorithms popularity was classified as not popular.
We found that @energyweb/algorithms 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
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.