Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    KCWx9
    @KCWx9
    I've dm'd you
    Collin Vine
    @collinvine
    Sure @KCWx9 dm me your email
    KCWx9
    @KCWx9
    Thanks!
    Griffin Ichiba Hotchkiss
    @gichiba
    Hello! So as it's been for the past few times, you can ask your questions here! feel free to ask both technical and general questions
    Christian Maniewski
    @chmanie
    👋
    Griffin Ichiba Hotchkiss
    @gichiba
    Also, if anyone happens to be at the CogX conference in London today, come say hi!
    KCWx9
    @KCWx9
    Is there a best practice for using Colonies instead of Domains?
    Griffin Ichiba Hotchkiss
    @gichiba
    Hey @KCWx9 I don't think there are any 'best practices' yet! what are you thinking?
    KCWx9
    @KCWx9

    @gichiba
    So TrueGift has 2 core elements:

    1. A collaboration platform for crowdsourcing solutions to 21st century challenges.
      Domain structure: context -> challenges -> solutions -> blueprints -> courses // may require more granularity
      Example: industry -> collaboration -> Colony.io -> colonyJS -> 'Learn colonyJS course'

    2. Decentralised operations based on location for the co-creation of unique products by upcycling unwanted / unused materials through crowdsourced donations of time and skill.
      Use case: A family (could be a business, individual, govt, etc) in location X buys a new table, and call their local TrueGift node for collection / delivery of the unwanted wooden table (could be any resource or service). The table is added to a domain based on location and a new task is created with specific reputation and token (could be an auction for the opportunity) requirements depending on the quality of the materials and work (skills) required. User 1 fixes a wonky leg and sands down the rough edges, etc. User 2 adds some extra drawers and some secret compartments. User 3 paints the table and adds a protective varnish. The 3 contributing users decide (a local vote could be a fallback if undecided) whether they want to direct the funds to predefined pots (in Element 1) or let the buyer decide. The unique product is then set for auction and sold.
      Domain structure: layers of location -> Decentralised operations
      Example: Europe -> Netherlands -> Amsterdam -> TrueGift Ops 1

    I could use 2 parent domains or I could set up another colony. I'm wondering whether you have any thoughts of what works best in these kind of situations?

    Christian Maniewski
    @chmanie
    @KCWx9 currently the contracts only support domains of one level depth
    So in general I’d suggest to use nested domains for that because you might need to use the concept of reputation at some point
    BUT we don’t support that, yet
    KCWx9
    @KCWx9
    @chmanie Okay, so 1 Colony split into 2 main Domains with everything else nested within each of them?
    My focus is on architecture design right now and then getting a prototype UI complete before I begin the heavy lifting with Colony
    Christian Maniewski
    @chmanie
    Architecture wise that might be sensible, but I don’t know when we will be supporting nested domains
    Christian Maniewski
    @chmanie
    Yes
    KCWx9
    @KCWx9
    I could create many domains but only apply the contracts to the top level domain?
    KCWx9
    @KCWx9
    Okay, I know what I have to do. Thanks!
    KCWx9
    @KCWx9
    @chmanie Is there a limit to the depth of tasks at the moment?
    Christian Maniewski
    @chmanie
    We don’t support sub tasks if that’s what you’re looking for
    So just one level deep
    Siddhartha Sahai
    @sidthekidder

    @KCWx9 currently the contracts only support domains of one level depth

    Just clarifying, you mean 1 domain -> x subdomains -> y tasks right? Or 1 domain -> x tasks

    John Grant
    @johngrantuk
    Hi, quick question - if I used ColonyNetworkClient.getColony.call({ id:i }); how would I then use the address to find the colony token name/symbol?
    Griffin Ichiba Hotchkiss
    @gichiba
    Hey, there is also a getToken.call() which might be helpful there
    it will, however just return the address of the token
    getToken is a colonyClient method, not a colonyNetworkClient method
    @johngrantuk
    Christian Maniewski
    @chmanie
    @sidthekidder 1 domain -> x tasks
    John Grant
    @johngrantuk
    thanks @gichiba. so it seems like we'd need to store the token name/symbol somewhere centrally and reference it to the address
    Griffin Ichiba Hotchkiss
    @gichiba
    @johngrantuk yeah, you could do that, but many tokens also choose to have that available on chain, as in here: https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/token/ERC20/DetailedERC20.sol
    But yeah, there's no colonyJS caller to grab a colony's token symbol at the moment
    John Grant
    @johngrantuk
    ok, thanks
    Kevin Lu
    @KevinLiLu
    Are the special reward pot (pot[0]) and working capital pot (pot[1]) restricted to the colony token type? I remember reading that colonies can pay out in ether, CLNY, the colony token, or any whitelisted erc20 token.
    If they can be any of the above, then how can I get the ether pot balance for example? There is a getPotBalance.call({ potId, token }) but what address would I use to get the ether balance?
    Christian Maniewski
    @chmanie
    @KevinLiLu naturally I’d think that you could get the ether balance by using 0x0 for the token address.
    But I’ll double check
    Christian Maniewski
    @chmanie
    Confirmed. We will add it to the docs!
    @gichiba ☝️
    Griffin Ichiba Hotchkiss
    @gichiba
    :thumbsup:
    Christian Maniewski
    @chmanie
    Thanks!
    Dan Coman
    @dancomanlive
    How to link MetaMask to colony starter, and how to add a task?
    Christian Maniewski
    @chmanie
    The hackathonStarter?
    It’s a node.js project, so MetaMask will be tough to integrate (not impossible, though). To use it in a browser you need to transpile the files with something like babel (using webpack for example)
    Christian Maniewski
    @chmanie
    @dancomanlive the task creation is exemplified here: https://github.com/JoinColony/hackathonStarter/blob/master/src/create_task.js
    Kevin Lu
    @KevinLiLu
    I'm a little confused by Domain vs Skill based on the ColonyClient API. I get that domains are specific to a colony while skills are global. Calling ColonyClient.addDomain(parentSkillId) requires a parentSkillId to be given as a parameter, and returns both a skillId and parentSkillId. It seems like a domain is tightly coupled with a skill ? When you create a domain, it also automatically creates a new skill (that is assigned to the domain) that is a child of the parentSkillId you passed in?
    Elena Gesheva
    @elenadimitrova
    @KevinLiLu Behind every domain there is a "local" skill (different to the global skills maintained by the Meta Colony). This local skill is created at the same time as the Domain and is tightly coupled with it, task users ultimately earn reputation in that local skill/domain
    The parentSkillId required in addDomain is the id of the parent local skill for the root domain. Since for now we only allow one level of subdomains (and equally one level of local skills) below the root, that parentSkillId will in fact always be the root local skill for domainId 1
    Joseph Schiarizzi
    @jschiarizzi
    @gichiba I've got a thing going locally and having a hard time touching your Rinkeby deployment with it. I'm pretty confused with your loaders API. As far as I see there isn't any Rinkeby connection in the hackathon starter unless I'm missing it? The blog post said there would be, could I have some help?