GithubHelp home page GithubHelp logo

starkex-resources's Introduction

Stark Exchange Resources

This repo hold a collection of tools to support the Stark Exchange. The Stark Exchange is a STARK-powered scalability engine for crypto exchanges. It uses cryptographic proofs to attest to the validity of a batch of transactions (such as trades and transfers) and updates a commitment to the state of the exchange on-chain.

The Stark Exchange allows exchanges to provide non-custodial trading at scale with high liquidity and lower costs.

Modules

  1. committee - Reference committee member service implementation
  2. crypto - A cryptographic library for the Stark Exchange
  3. storage - A storage abstraction library
  4. stark_ex_objects - Various python objects used by the Stark Exchange

Copyright

Copyright 2020 StarkWare Industries Ltd.

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

https://www.starkware.co/open-source-license/

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.

starkex-resources's People

Contributors

alon-dotan-starkware avatar gkaempfer avatar michaelriabzev-starkware 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  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

starkex-resources's Issues

batch_info.json - expected size

Hi,

What is the expected size of the batch_info.json?

My guess is:
~expected number of orders per second: 5
x
2 sides of an order
x
ratio of orders touching unique accounts:: <1
x
polling interval
x
size of single update

So I see that a single batch should be roughly ~10Kb?

Pedersen function of signature.js cannot hash starknet public keys

Issue

Signaure.js serves as a library to perform cryptographic functions required in starknet smart-contracts. The Pedersen Hash implementation in it doesn't allow for hashing of starknet public keys.

The issue is due to failure of assertion inside the function, which only takes input between 0 (not included) to '800000000000011000000000000000000000000000000000000000000000001'.

assert(x.gte(zeroBn) && x.lt(prime), 'Invalid input: ' + input[i]);

The python implementation of the same function is able to compute the pedersen hash.

Feat: Useability #7

To interact with the StarkWare network for depositing and withdrawing funds, refer to the documentation provided at https://docs.starkware.co/starkex-v3/starkex-deep-dive/smart-contracts-1/public-interactions. Find contract addresses for deposit and withdrawal functionalities, and look for code examples or instructions on calling these functions. Connect to the network by specifying a network URL or RPC endpoint as outlined in the documentation's "Connecting to the StarkWare Network" section. Assess the costs of using the network by examining transaction fees and fee structures detailed in the documentation.

ecdsa library optimization

i notic that starkware is not using the secp256k1 curve.

however, i compared the ecdsa sign to bitcoin library secp256k1, it is much slower. libsecp256k1 only takes 85 micro per iteration.

after some digging, the current implementation does not adopt the jacobian coordinates as in libsecp256k1.

any plan to optimize that?

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.