Coder Social home page Coder Social logo

firstbatchxyz / hollowdb Goto Github PK

View Code? Open in Web Editor NEW
60.0 6.0 2.0 8.44 MB

A privacy-preserving key-value database on Arweave.

Home Page: https://hollowdb.xyz/

License: MIT License

JavaScript 30.20% TypeScript 69.80%
arweave arweave-blockchain circom key-value key-value-database key-value-store smartweave warp zero-knowledge hollowdb

hollowdb's People

Contributors

andthattoo avatar anilaltuner avatar erhant avatar fco-fbatch avatar merdoyovski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

kerimrock sbnair

hollowdb's Issues

Error: Contract Error [get]: Error: Database is not open

Hi

I get this error when I run the following code. What could be the cause?

2023-08-05T11:54:06.505Z FATAL [HandlerBasedContract] Error while interacting
 with contract [
  {
    type: 'exception',
    error: 'Error: Database is not open\n' +
      '    at maybeOpened (hollowdb/node_modules/abstract-level/abstract-level.js:133:18)\n' +
      '    at hollowdb/node_modules/abstract-level/abstract-level.js:160:13\n' +
      '    at process.processTicksAndRejections (node:internal/process/task_queues:77:11)'
  }
]

These codes causes an error.

  • pattern1
  const keys = await sdk.getAllKeys();
  const values = await sdk.getMany(keys);
  • pattern2
  const keys = await sdk.getAllKeys();
   keys.map(async key => {
    const value = await sdk.get(key);
  });

The same error occurred after deleting the cache directory.
Please response me.

Use generics on SDK

Could we use the Base class with a generic <V = any> type argument, which later passes these into state, contract cache and KVstorage as generic? This is also because both Redis and LMDB take in a generic parameter. This should make most functions returns a type V rather than unknown.

Add `computeKey` utility function

Currently, one might have to use an external library such as poseidon-lite or run the circuit itself and get the key from the output. We could instead run a witness computation function, and provide this as a utility so that a client can generate the key without creating a proof itself.

Modifier refactors

We should make modifier functions more readable, especially the types and generics.

Update `Bundlr` to `irys`

As per the warning:

Warning

warning @bundlr-network/[email protected]: Bundlr is now Irys - please switch to @irys/sdk - this package will remain compatible with Irys for the foreseeable future.

Jest without `--forceExit`

Possibly something related to Warp or Arweave is hanging in the background, thus we have to force.
Will look into it.

Deleted package detected

I'm a Cyber Security researcher and developer of PackjGuard [1] to address open-source software supply chain attacks.

Issue

During my research, I detected a deleted package in this repository.

Details

Specifically, the package hollowdb mentioned in file README at line 36 does not exist on the public PyPI registry. A bad actor can hijack this package to propagate malicious code.

Impact

Not only your apps/services using https://github.com/firstbatchxyz/hollowdb repo code are vulnerable to this attack, but the users of your open-source Github repo could also fall victim.

You could read more about such attacks here: https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610

Remediation

Please highlight this in file README and register a placeholder package for hollowdb on public PyPI soon to remediate.

To automatically fix such issues in future, please install PackjGuard Github app [1].

Thanks!

  1. PackjGuard is a Github app that monitors your repos 24x7, detects vulnerable/malicious/risky open-source dependencies, and creates pull requests for auto remediation: https://github.com/marketplace/packjguard

Update examples

  • Will use package.json within as an isolated project
  • Can be TS

Add transfer utility

Transfer should:

  • Remove itself from whitelists and add the target address instead
  • Change ownership

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.