Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • May 20 19:30
    fulldecent commented #710
  • May 20 19:30
    fulldecent closed #710
  • May 20 16:38

    xpepermint on master

    Allow women, and more, to own t… Merge branch 'master' into patc… Merge branch 'master' into patc… and 1 more (compare)

  • May 20 16:38
    xpepermint closed #709
  • May 20 09:27
    codecov-commenter commented #709
  • May 20 09:25
    codecov-commenter commented #709
  • May 20 08:31
    codecov-commenter commented #709
  • May 20 08:30
    codecov-commenter commented #709
  • May 20 08:08
    codecov-commenter commented #709
  • May 20 08:07
    xpepermint synchronize #709
  • May 20 08:07

    xpepermint on master

    Allow women, and more, to own t… Merge branch 'master' into patc… Merge pull request #708 from fu… (compare)

  • May 20 08:07
    xpepermint closed #708
  • May 20 08:05
    codecov-commenter commented #708
  • May 20 07:17
    xpepermint assigned #707
  • May 20 06:59
    xpepermint synchronize #708
  • May 20 06:58
    xpepermint synchronize #709
  • May 20 06:57
    xpepermint commented #710
  • May 20 06:42

    xpepermint on master

    No need to SLOAD+SSTORE eip-2200 eip-2200 and 2 more (compare)

  • May 20 06:42
    xpepermint closed #711
  • May 20 03:08
    codecov-commenter commented #711
Kristijan Sedlak
@xpepermint
ETH gas prices are insane these days because of the sushi defi “game” and the price you pay has nothing to do with the 0xcert code.
You should check https://ethgasstation.info
Azlan Aziz
@azizazlan
I understand. No, it has nothing to do with 0xcert. Thanks @xpepermint !
Azlan Aziz
@azizazlan

Hi All, has anyone got any tip or idea how this framework can be used in conjunction with the ethereum/EIPs#725 and ethereum/EIPs#735?

Or is it just simply create/transfer the asset to the ERC725 contract address (since according to the standard, identity is represented by the contract address)? Or the issuer of the asset (AssetLedger) add the asset claim to the contract (ERC 735)?

Tadej Vengust
@MoMannn
@azizazlan From contracts standpoint everything is compatible with 0xcert protocol (our own contracts).
As far as 0xcert framework is concern it will not work out of the box. Since asset creations etc. make transactions directly to 0xcert procotol smart contracts not to the proxy contracts that the above standards describe.
To make framework compatible would take quite some changes to the logic.
You can always use framework to do direct rpc calls from any of the providers if you want to interact with custom contracts like these proxy contracts but this is quite a bit more advance usage.
In this case I would rather advise to use ethers.js or web3x to interacts with the proxy contract while 0xcert framework for everything else. You can also deploy with 0xcert framework and give all permission to the proxy contract.
Kristijan Sedlak
@xpepermint
Plus, open a new issue on github if you need a specific feature and we’ll discuss.
Azlan Aziz
@azizazlan
Thank you for the explanation
Azlan Aziz
@azizazlan
Will open an issue on the github
Henober
@henober
Hello, i have downloaded 0xcert framework from github. and i installed Node.js [Active LTS releases], NPM > v6.x however i'm unable to run the source code ! can anyone help how to run the framework on my pc ?
Azlan Aziz
@azizazlan
Hi @henober , the first time I learnt to use the framework was going through this tutorial...https://0xcert.org/news/0xcert-framework-tutorial-3-deploy-asset-ledger

Dear 0xcert developers,

The following lines of code (version 2.0.3) works on public testnet (Ropsten/Rinkeby etc) but the execution stuck at themutation.complete() line when use with ganache-cli or ganache.

const mutation = yield AssetLedger.deploy(                                                                                                                   
               provider,
               assetLedgerDefinition
          );

yield mutation.complete();
Kristijan Sedlak
@xpepermint
Please open a new issue. We can try upgrading ganache. 🙏
Azlan Aziz
@azizazlan
Thank you.
Ummer Irshad K
@ummerirshadk

I am trying to deploy asset ledger from NodeJs with Infura and Ropsten. Unfortunately I am getting below error

Error { ProviderError: GenericProvider error [issue: 0]
at Promise.catch (E:\Test\Blockchain\Oxcert\node_modules\@0xcert\ethereum-generic-provider\dist\core\provider.js:195:23)
at process._tickCallback (internal/process/next_tick.js:68:7)
name: 'ProviderError',
issue: '0',
original:
{ code: -32601,
message:
'The method eth_sendTransaction does not exist/is not available' },
message: 'GenericProvider error [issue: 0]' }

Tadej Vengust
@MoMannn
Infura with http provider is limited only to read data. This is because you need to sign transactions with a private key to be able to send them to infura. You can achieve this by creating your own provider that accepts a private key with which you sign the transaction and sent it to infura. Here is a guide on creating you own provider: https://docs.0xcert.org/framework/v2/guides/providers.html#create-your-own-provider If you need help specifically how to create one for sending transaction to infura I can write up an example.
3 replies
nabenmes
@KEDGERS
Hello, i just came across the Swapmarket platform and would like to understand how to instantiate a separate platform based on the 0xcert platform. any pointer to documentation is appreciated. Thanks
Ummer Irshad K
@ummerirshadk
Thanks @Tadej for your response. Yes, appreciate if you could help me with some code samples to create custom provider to send transactions with infura. Basically, I am looking to create a ERC721 token with off-chain metadata with Oxcert OpenSource Framework.
Nick Bulka
@nbulka_twitter
hello, looking forward to starting development with 0xcert
Azlan Aziz
@azizazlan

Creating AssetLedger with Metamask Provider works but I can make it work with HttpProvider with a local geth node. The error was:

ProviderError: GenericProvider error [issue: 0]

import { HttpProvider } from "@0xcert/ethereum-http-provider";
import { AssetLedger, AssetLedgerCapability } from '@0xcert/ethereum-asset-ledger';

async function testMint() {
    const provider = new HttpProvider({
        url: "http://localhost:8545",
    });
    const assetLedgerDefinition = {
        name: 'Math Course Certificate',
        symbol: 'MCC',
        uriPrefix: 'https://0xcert.org/assets/',
        uriPostfix: '.json',
        schemaId: '3f4a0870cd6039e6c987b067b0d28de54efea17449175d7a8cd6ec10ab23cc5d', // base asset schemaId
        capabilities: [
             AssetLedgerCapability.REVOKE_ASSET,
       ],
    };
    try{
        const mutation = await AssetLedger.deploy(provider, assetLedgerDefinition);
        const transactionHash = mutation.id;
        await mutation.complete();
        const assetLedgerId = mutation.receiverId;
    }
    catch(error) {
        console.log(error);
    }
}
Azlan Aziz
@azizazlan
Hi, how do I deploy AssetLedger via node/express application on a local private geth (node) network? I tried to use HttpProvider and point to a geth node in which the account has been unlocked but it gave the provider error. Is this where I have to use custom provider?
Azlan Aziz
@azizazlan
When performed query provider.isSupported(), it return false which means that the provider is not supported by the environment. Is environment means the local geth node (http://localhost:8545)? So I assume the error is due to unsupported environment. If so how do I make the provider support the environment?
Azlan Aziz
@azizazlan
Anyone can kindly help to convert the following typescript to javascript(ES6)? Tried to create CustomProvider that extends GenericProvider. The example given in typescript. I only want to add two parameters (param1 and param2) in the send method.
import { GenericProvider } from '@0xcert/ethereum-generic-provider';
import { fetchJson } from '@0xcert/utils';

export class CustomProvider extends GenericProvider {

let param1, param2;  // strings

    /**
   * Class constructor.
   */
  public constructor(options: GenericProviderOptions, param1, param2) {
    super(options);
    this._options = options;
    this._client = this;
    this.param1 = param1;
    this.param2 = param2;
  }

  /**
   * Sends the RPC call.
   */
  public send(data: any, callback: (err, data) => any) {
    const { url, ...options } = {
      url: 'http://localhost:8545',
      ...this._options,
    };
   // data that include param1 and param2
    const myData = {...data, param1, param2};
    return fetchJson(url, {
      ...options,
      method: 'POST',
      body: JSON.stringify(myData),
      headers: {'Content-Type': 'application/json' },
    }).then((res) => {
      return res;
    }).then((res) => {
      return callback(null, res);
    }).catch((err) => {
      return callback(err, null);
    });
  }
  }
}
Tadej Vengust
@MoMannn
@KEDGERS Swammarket is build completly with atomic operations: https://docs.0xcert.org/framework/v2/guides/atomic-actions.html
Tadej Vengust
@MoMannn
@nbulka_twitter Great, start with our docs: https://docs.0xcert.org/

@azizazlan Please check our tutorial for running your own geth and how to use it with our framework: https://0xcert.org/news/0xcert-framework-tutorial-1-run-and-prepare-geth-node-for-backend-integration/

Tutorial has 5 steps, if you go trought first 2 you deployment should already be working

@azizazlan As for custom params looks like your on the right path, dont know what the problem is? If you transpile this you will get the js code
Azlan Aziz
@azizazlan
Thank you @MoMannn for pointing out the tutorial. I got it working with my own geth node. Also managed to transpiled and got my custom provider to works! The problem was, for some reason I messed the transpiled code - NOT 0xcert framework issue.
Azlan Aziz
@azizazlan
I wanted to transfer multiple assets (AssetLedger) to multiple (unique) recipients in one atomic action. I understand that to achieve this on a private network, I need to deploy the ActionsGateway smart contract (actions-gateway.sol from your github) by myself. I plan to achieve this using the truffle framework in order to deploy it. The gateway's sign and perform methods should work the same way once the contract is deployed. Am I missing any step?
Tadej Vengust
@MoMannn
@azizazlan You need to deploy action gateway and the proxies and set them up correctly
Check the framework actiongateway tests. There you can see what needs to be done for correct deployment,.
Azlan Aziz
@azizazlan
Ok, thanks @MoMannn
YakupIpek
@YakupIpek
0xcert framework has NFT Marketplace(exchange) contract ?
3 replies
YakupIpek
@YakupIpek
It seems this channel is dead : (
jason
@helloworldNetw1_twitter
Is anyone still maintaining this framework?
Kristijan Sedlak
@xpepermint
@jason yes
Azlan Aziz
@azizazlan
About 2 years ago, October 2019, I deployed an AssetLedger on Mainnet and it cost me USD6.42. Whats the latest cost?
Tadej Vengust
@MoMannn
The cost is even higher right now, If you want check transaction I would recomment 0xcert api or deploying on a cheper network like bsc or avalanche
Azlan Aziz
@azizazlan
Avalanche - interesting. Thanks @MoMannn