Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 28 16:54
    fulldecent commented #468
  • Jan 28 09:58
    xpepermint commented #468
  • Jan 28 09:43
    xpepermint commented #468
  • Jan 28 07:48
    MoMannn commented #663
  • Jan 27 13:26
    codecov-io commented #663
  • Jan 27 13:26
    codecov-io commented #663
  • Jan 27 13:25
    codecov-io commented #663
  • Jan 27 13:09
    MoMannn synchronize #663
  • Jan 27 09:21

    xpepermint on 2.0

    (compare)

  • Jan 24 13:55
    MoMannn synchronize #663
  • Jan 24 13:53
    MoMannn labeled #663
  • Jan 24 13:53
    MoMannn opened #663
  • Jan 24 13:53
    MoMannn review_requested #663
  • Jan 24 07:01

    xpepermint on master

    Use === Rebuild Merge pull request #651 from fu… (compare)

  • Jan 24 07:01
    xpepermint closed #651
  • Jan 24 02:55
    codecov-io commented #651
  • Jan 24 02:54
    codecov-io commented #651
  • Jan 24 02:53
    codecov-io commented #651
  • Jan 24 02:37
    fulldecent synchronize #651
  • Jan 24 00:22
    xpepermint commented #651
Tadej Vengust
@MoMannn
Second you need to add the list of proxy addresses to gateway. You do this by calling addProxy() on orderGateway contract.
You should also note that the order of which you add proxies is important since the order is hardcoded in the framework. So you add them in this order: xcertCreateProxy, tokenTransferProxy, nftokenTransferProxy, nftokenSafeTransferProxy, xcertUpdateProxy
You could also use sandbox for automated deploy: https://github.com/0xcert/framework/blob/1.0/packages/0xcert-ethereum-sandbox/src/core/protocol.ts Where you provide a web3 instance and from address and it deploys every contract and variation from 0xcert protocol. But this will also deploy a few things unnecessary, but you could comment them out and it would work for your case.
Tadej Vengust
@MoMannn
@azizazlan It may be good to check out the 2.x version as well. It supports much more powerful atomic transaction. The code is basically ready for beta release. Still working on documentation and guides which should be ready after new year.
Azlan
@azizazlan
Thank you very much @MoMannn for the detail explanations and now I got some ideas on how to go about it. Will update once I successfully done it.
Tadej Vengust
@MoMannn
Great :) Glad to help.
Azlan
@azizazlan

Reading the source for nft-token-metadata.sol and try to understand the URI part. It says NFT URI is made from prefix + NFT id + postfix.

So for example, I can have something like http://localhost/100 where the prefix is http://localhost/ and 100 is the NFT id. But what is the example use of the postfix?

Merry Christmas and happy holiday!

Tadej Vengust
@MoMannn
@azizazlan For your case you can leave the postfix empty. But there are cases you would have your url as: https://localhost/100.json or https://localhost/asset/100/metadata etc.
Merry Christmas and happy holidays to you aswell :)
Mugdha Patil
@PatilMugdha

Hello, I am confused on the Asset schema. Following is how I understood the big picture. Reference:
https://docs.0xcert.org/api/core.html#asset-certificate
https://docs.0xcert.org/api/core.html#asset-schema

1) ‘asset_schema.json’ is hosted publicly on server. It may have additional fields specific to the asset along with 5 mandatory fields name, description, image, $evidence and $schema. These 5 fields will also be a part of ‘metadata.json’. Additional public fields from asset_schema.json can be included in this file.

2) In code, an asset object is created. ‘asset_obj’ will have all public/private schema attributes.
const imprint1 = await obj.cert.imprint(asset_obj);
//this imprint will be stored on blockchain when asset is created.

3) const proofs1 = await obj.cert.disclose(asset_obj, discloseParams);
This will generate evidence object. Create a file called ‘asset_evidence.json’ from proofs1 and host publicly. (All or some public fields to be included in metadata.json will be ‘discloseParams’)

(Asset owner will perform 2 and 3)

4) Then I will create ‘metadata.json’ and also host on server which includes-
{
‘$evidence’: ‘/server/path/to/asset_evidence.json’ //from (3)
‘$schema’: ‘/server/path/to/asset_schema.json’. //from (1). This will remain same for all the assets.
…}

5) I guess 'metadata.json' path will be stored offline for anyone to access.
(Verifier will perform 3 and 4. Compare imprint1 and imprint2 for verification)
6) const proofs2 = await cert.notarize(discloseParams);
7) const imprint2 = await cert.calculate(discloseParams, proofs2);

Please correct me if anything is wrong. Thanks!

@xpepermint Last time you corrected point 6 saying it should be full data object. I tested it and is working.
6) const proofs2 = await cert.notarize(FULL_DATA_OBJECT);
But if this step has to be performed by the verifiers, how will the verifier get hold of the complete data object? They will only know the public attributes from metadata.json and imprint for verification right? Thanks for help.

Please let me know your thoughts.
Kristijan Sedlak
@xpepermint
This should work. Btw, we are about to release FW 2.0 with an updated docs. See https://github.com/0xcert/framework/tree/master/docs/certification
Azlan
@azizazlan

The following lines works with version 1.9.x, but after upgraded to 2.0.0-alpha14, the balance shows zero (I have 18.75 Ether on Rinkeby).

FYI, I then switched to 'bitski-node' provider(https://github.com/BitskiCo/bitski-node/) - just to make sure my parameters and variables are correct - and it work. So, I assume that there is a breaking change in options to get the BitskiProvider instance?

const {BitskiProvider} = require('@0xcert/ethereum-bitski-backend-prov ider');
const Bitski = require('bitski-node');
...

const options = {
    sandbox: false,
    accountId: '0xbc8aba6b052bb1f4ec5d7e05c54f7fd3b72e8f24',
    clientId: `${process.env.clientId}`,
    networkName: 'rinkeby',
    credentialsId: `${process.env.credentialsId}`,
    credentialsSecret: `${process.env.credentialsSecret}`,
};

const bitskiBackEndProvider = new BitskiProvider(options);
const web3 = new Web3(bitskiBackEndProvider);
const balance = await web3.eth.getBalance('0x0e9847bd6de6328b732fcb8a3ed4974facdc9e8b');
console.log(balance); // Incorrect balance!

const provider = Bitski.getProvider(`${process.env.clientId}`,  {
network: 'rinkeby',
});
const web3_bitski = new Web3(provider);
const balance_bitski = await web3_bitski.eth.getBalance('0x0e9847bd6de6328b732fcb8a3ed4974facdc9e8b');
console.log(balance_bitski); // Correct balance (18.75 Ether).
Azlan
@azizazlan
Ok I got it to work!. Yes there is a breaking change in 2.0.0-alpha14. The networkNamein BitskiProviderOptions is changed to only network.
Mugdha Patil
@PatilMugdha
@xpepermint the new documentation looks very helpful! checking it out.
Tadej Vengust
@MoMannn
@azizazlan Yes, bitski theirselfs changed to network since they are now supporting custom networks, at least for bitski frontend provider
Mugdha Patil
@PatilMugdha
I am trying to deploy a new ledger using AssetLedger.deploy(...) Getting this -
{ Error: invalid bytes32 value (arg="", coderType="bytes32", value="d6b353fc6a7aec8df01cf82277769d767bdd59f2d3a49fcd9422f788557ad69c") where value is schemaId generated using cert.identify(). I am using Cert API version 1.9.0. It was working few days ago. Has anything been modified recently?
Azlan
@azizazlan
Could you provide the code @PatilMugdha
Mugdha Patil
@PatilMugdha
const { Cert } = require('@0xcert/cert');

const cert = new Cert({
    schema: defaultSchema
});

router.post("/deploy", async (req, res) => {
  console.log('Trying to deploy. It may take few seconds..');
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

  const schemaId = await cert.identify();
  console.log('Schema ID:', JSON.stringify(schemaId), '\n');

  const recipe = {
    name: req.body.name,
    symbol: req.body.symbol,
    uriBase: req.body.uriBase,
    schemaId: schemaId,//obj.schemaId,//req.body.schemaId,
    capabilities: req.body.capabilities
  };

  const mutation = await AssetLedger.deploy(provider, recipe)
    .then(mutation => {
      let _msg = "Deploying new ledger, this may take a while...";
      console.log(_msg);
      return mutation.complete();
    }).then(result => {
      if (result.isCompleted()) {
        let r = {};
        console.log(`Deployed ledger!`);
        var assetLedgerId = result.receiverId;
        console.log('Deployment is successful. AssetLedgerId: ' + assetLedgerId);
        console.log('Txn id: ' + result.id);
        r["id"] = result.id;
        r["url"] = "https://rinkeby.etherscan.io/tx/"+result.id;
        r["assetLedgerId"] = result.receiverId;
        res.send(r);
      }
      return result;//this is mutation id
    })
    .catch(e => {
      console.log("Error", e);
    });
});
@azizazlan please find code above
Mugdha Patil
@PatilMugdha
@azizazlan found the issue. Code needs schemaId prefixed with '0x'. Thank you for help :)
Tadej Vengust
@MoMannn
@PatilMugdha Yeah this is an issue with 1.x version which does not add the prefix automatically. It is fixed in 2.x version.
Kristijan Sedlak
@xpepermint
@PatilMugdha good!
Mugdha Patil
@PatilMugdha
@MoMannn @xpepermint great, thank you.
kapilpipaliya
@kapilpipaliya
is this a frontend framework?
Mugdha Patil
@PatilMugdha
@kapilpipaliya it is node.js for backend.
kapilpipaliya
@kapilpipaliya
oh thnaks
what this framework does?
I am using c++ as backend. when should i use this framwork? (i dont need blockchain)
Mugdha Patil
@PatilMugdha
@kapilpipaliya Node.js is used for backend API services here. It is not specific to the blockchain. https://thinkmobiles.com/blog/why-use-nodejs/
Please check out more similar articles for further information.
Kristijan Sedlak
@xpepermint
@kapilpipaliya frontend or backend actually
@kapilpipaliya you will find more about this framework in the docs at http://docs.0xcert.org
kapilpipaliya
@kapilpipaliya
thanks
Quyen Nguyen
@qnguyen12
hi guys, I don't know where could I fire an issue but could you check https://0xcert.org/zxc-token? black texts on dark background at the pie chart and Blockfolio?
Tadej Vengust
@MoMannn
@qnguyen12 Thanks for pointing it out, we are still working on the webpage redesign and migrating, should be done in a couple of days :)
Tadej Vengust
@MoMannn
@qnguyen12 Should be fixed now.
Tadej Vengust
@MoMannn
@/all We are proud to announce that v2.0 beta of the 0xcert framework has been published. Check it out! https://0xcert.org/news/0xcert-framework-2.0.0-aragorn-released/
cihanaltay123
@cihanaltay123
I want to invest in this project
bittrex vs binance stock exchanges Do you want to list
Azlan
@azizazlan
Thanks we are using version 2.0.0-beta now!
Tadej Vengust
@MoMannn
New docs, live examples and guides can be found here: https://docs.0xcert.org/
We will be opening a bounty for bugs soon as well.
Kristijan Sedlak
@xpepermint
Kristijan Sedlak
@xpepermint
@/all
Quyen Nguyen
@qnguyen12
@xpepermint I can see we have Enterprise > Rest API and Client. Could you share about these new features?
Aveesh Shetty
@Aveesh52
hey
Kristijan Sedlak
@xpepermint
@qnguyen12 Damn, you saw that too early :). The announcement is coming soon. We still work on the documentation.
@Aveesh52 hey :)
Quyen Nguyen
@qnguyen12
lol, can't wait to hear from you
Kristijan Sedlak
@xpepermint
@/all 0xcert API Beta has been released: https://0xcert.org/news/0xcert-api-blockchain-to-every-business