Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    JamesRay
    @james-ray
    Could zinc implement something like export-verifier in zokrates?
    ACJuicyJ
    @ACJuicyJ
    Hey I have been wondering since I haven't been checking updates, but I thought maybe I could ask here; How far are you guys with the implementation of Smart Contracts on Zinc, is it in theory possible to connect existing applications/rewriting these to make them already compatible on Layer 2? Or is it not possible at all (yet)?
    Sunny Gonnabathula
    @sunny-g
    @hedgar2017 not sure if there’s info on this but what role will circuits have once contracts are feature complete? Would I be able to use Zinc to independently generate proofs and verify them with a main net Ethereum contract, or will the infrastructure look more like Starkware and Cairo?
    Also, if the latter, are there any special considerations to make when writing contracts (like you would with circuits) or is the fact they’re provable via PLONK just like an added benefit to using Zinc + zksync?
    ReggieRumsfeld
    @ReggieRumsfeld
    Any thoughts/leads on testing zksync::msg.sender related requirements (in the smart contracts), other then trail and error through publishing?
    Alex Z
    @hedgar2017
    @james-ray @ACJuicyJ @sunny-g we are currently extremely focused on the smart contracts and SyncVM release this summer.
    I believe we will be able to provide standalone proof verification utils afterwards.
    In a nutshell, yes, contracts will be provable via PLONK-targeted SyncVM, which will be able to run Zinc and adapted Solidity contracts.
    @ReggieRumsfeld please, describe you proposal more completely.
    hanakomodo
    @hanakomodo
    hi all! didnt realize the convo was here rather than discord ehe
    hanakomodo
    @hanakomodo
    i thought zksync seemed kinda cool but now i just saw zinc is non turing complete and i am 1000% on board
    Alex Z
    @hedgar2017
    @hanakomodo Zinc is going Turing-complete :fire:
    hanakomodo
    @hanakomodo
    oh
    hanakomodo
    @hanakomodo
    is it correct that zinc contracts can call into each other but cant call out to l1, even if a user were to to supply enough eth for l1 gas?
    Alex Z
    @hedgar2017
    @hanakomodo Turing-incomplete contracts are not supported anymore.
    We are discussing calls to L1 in the Turing-complete ones, but cannot provide any detail yet. Such information appears in our docs and channels asap.
    hanakomodo
    @hanakomodo
    ty!
    Sunny Gonnabathula
    @sunny-g
    @hedgar2017 thanks Alex, looking forward to it
    What should I do to debug a stack overflow error when running ‘zargo build’?
    ReggieRumsfeld
    @ReggieRumsfeld
    @hedgar2017 Thank you for the time you take commenting on everything that pops up here👍🏼 To my question above, I basically would like to know if, as part of testing smart contracts, it possible to test, let's say: require (zksync::msg.sender == self.owner, "Only Owner is entitled!");
    JamesRay
    @james-ray
    the db in zinc stores the private keys of the contract and the intialized accounts, is there risk that the node running zvm does malicious action, fake the signature of transfer to L1?
    Alex Z
    @hedgar2017
    @sunny-g you should send the Zinc project code and the error message to a.zarudnyy@matterlabs.dev :)
    Also, tell which Zinc version you are using and other details you might notice
    @ReggieRumsfeld sure. That’s what some of our contracts do in their methods (e.g. Curve)
    @james-ray Zandbox is only a demo. Our production design is different :)
    gazellefi
    @gazelle75113415_twitter
    How to get the time parameter in Zine? If you cannot get the block time, can you get the system time?
    gazellefi
    @gazelle75113415_twitter
    Can't you set global variables in the Zine language?
    gazellefi
    @gazelle75113415_twitter
    Can the key in Maps be written in letters? Similar to "byte" or" string" in the solidity language?
    Husen Wang
    @wanghs09
    global variables are not available now
    Husen Wang
    @wanghs09
    if the layer2 vm is similar to EVM, would openzeppelin/truffle test be compatible in Zinc contract test? the interactive test in https://zinc.zksync.io/07-smart-contracts/02-minimal-example.html is quite inefficient.
    Alex Z
    @hedgar2017
    @gazelle75113415_twitter to all three questions: not available yet :)
    We'll implement the system and block in one of the next versions.
    Global mutable variables will probably never be implemented due to the safety concerns.
    Byte strings will be also implemented with the byte array behavior.
    @wanghs09 we are planning the integration with truffle or a system alike.
    gazellefi
    @gazelle75113415_twitter
    Can the LP in curve be transferred in the wallet?
    CURVE in the demo version is incomplete and there is no LP.
    Alex Z
    @hedgar2017
    @gazelle75113415_twitter yeap, no LP for now.
    We are going to add it after the Turing-complete release.
    @z330789559 hi. Could you please try the Contract::fetch function?
    z330789559
    @z330789559
    @hedgar2017 I'm very happy to hear the news, I'll give it a try
    z330789559
    @z330789559
    @hedgar2017 query is ok but call has error
    libaozhongdeMacBook-Pro:simple_price_oracle libaozhong$ zargo call --address 0xea9419fa3cf9c66ef250e474db596575986cad48 --method update --network rinkeby
    Calling method update of the contract simple_price_oracle v0.2.7 with address 0xea9419fa3cf9c66ef250e474db596575986cad48 on network rinkeby
    [ERROR zargo] signing error: Signing failed: Transfer is incorrect, check amounts
    {
    "address": "0xea9419fa3cf9c66ef250e474db596575986cad48",
    "balances": [
    {
    "key": "0x0",
    "value": "64400000000000"
    }
    ],
    "x": "0"
    }
    @hedgar2017
    I have never understood how to use my eth private key to generate private_key
    z330789559
    @z330789559
    @hedgar2017 call has normally work ,but if msg.recipient is 0x0000000000000000000000000000000000000000 ,it will case error signing error: Signing failed: Transfer is incorrect, check amounts
    JamesRay
    @james-ray
    @hedgar2017 For the same circuit, if we execute setup() many times, the vk should be the same, right?
    Can I say anyone can verify a certain vk is related to some logic or relation to prove? This fact can be verified by anyone?
    Alex Z
    @hedgar2017
    @z330789559 thanks. We have already taken care of that counter-intuitive error.
    @james-ray we are currently focused on the smart contracts release and temporarily suspended circuits support.
    I believe we'll get back to that functionality after the mainnet release.
    Dennis Gearon
    @kwince
    @hedgar2017
    @hedgar2017 (1) do you know an effective way to search on gitter to find previous post? (2) the only link I found for a source for token pricing from within a zinc contract is a dead link on your website now. Can you give me some sort of documentation or example of the current source of token pricing from within a zinc contract? (3) This is pretty exciting stuff 😀
    Alex Z
    @hedgar2017
    @kwince
    1) No, it doesn’t seem like it’s possible)
    2) Our old examples shouldn’t be relied on at the moment. In the Turing-complete version contracts will be slightly different. Also, if something is not in the Zinc book, it does not exist in Zinc yet :)
    3) thanks :heart_eyes_cat:
    Dennis Gearon
    @kwince
    Thx @hedgar2017
    JamesRay
    @james-ray
    Can you shed some light on how L1 can verify the post-state of some Zinc contract, whether Turing-complete or not complete.
    You said production design will be different, how does the verification work? @hedgar2017
    Lasse Herskind
    @LHerskind
    Hi, is the solidity transpiler up somewhere, cannot find it? If not, will it be available with the testnet or do we have to wait for main? :)
    Dennis Gearon
    @kwince
    @hedgar2017 Is the next version of zinc going to be 1.0? Or will it be less? Also is there going to be a pragma or some other mechanism that tells the validator running the contract which version of zinc it is set for? And how long will the versions pre 1.0 continue to run on the validator networks? Is there any point in making anything production level before like 1.0 or 1.01?
    Alex Z
    @hedgar2017
    @james-ray hi. This information will be available in our docs, when we are close to the release.