Git Product home page Git Product logo

dao-ipci / dao-ipci Goto Github PK

View Code? Open in Web Editor NEW
32.0 18.0 10.0 8.4 MB

Decentralized autonomous organization «The Integral Platform for Climate Initiatives». DApp, smart contracts and blockchain technology-based ledger for carbon units and carbon units’ operations data.

License: BSD 3-Clause "New" or "Revised" License

HTML 8.31% JavaScript 91.20% CSS 0.49%
dao ethereum carbon-footprint carbon-emissions

dao-ipci's Introduction

DAO «Integrated Program for Climate Initiatives»

DAO IPCI work only on Ethereum testnet today.

  • Operator of the Program testnet address: 0x236EdcF07D0dF1C09E096719Eec3d7f53C8468F4
  • DAO curator testnet address: 0x6EFBA8fb2AC5b6730729a972eC224426a287C3Ad

Workflow

  1. Operator of the Program create new Auditor Access Control List (ACL) for each Integrated Program Mitigation Units (IPMU) ledger.
  2. Issuer send transaction to IPMU ledger builder with name of selected Auditor Access Control List. Only Auditor from Auditor Access Control List can issue new IPMU tokens.
  3. Auditor send transaction to Auditor contract builder with client IPMU ledger address and Operator of the Program address.
  4. Operator of the Program:
  • approve new carbon ledger in DAO core
  • approve Issuer address to access to DAO market.
  1. Only approved Issuer and approved IPMU tokens can offering on Market.

Initial modules

  • DAO core
  • ACL storage
  • Shareholder token
  • Market agent builder
  • Token Emission ACL builder
  • Auditor contract builder
  • Complier contract builder
  • USD balance ledger
  • DAO market
  • Market regulator
  • Market agent

Created modules on Testnet

DAO core «IPCI» :: abi

0x7ffC5d00F4F4ECA9Ce89644df75Ae4391D1f56e0

BuilderOperator :: abi

0x09bab4a302ebf66d209123ed520f72a836298ecf

BuilderAuditor :: abi

0x5f7a1f56d0badd35c0d48589ec90e886b5f6ea0c

BuilderIssuerLedger :: abi

0x69f04032ae9e6777fa84eed82fed1a5c02a29881

IPCI shares :: abi

0xB3EA0235C4592dc281D66e9ed11f3656a7E955eF

IPCI ACL Storage :: abi

0x952981d818e095368201ef6829736c35Ffb1a0fF

IPMU ledger builder :: abi

0xC1dB09b0962e432c6bd042E05eC83557014A344D

Tihomovo IPMU ledger :: abi

0x0a2262444fD4387B281b5C6515DEbb26CA10eD9e

IPCI market USD balances :: abi

0xC6BA1097fD5c7Ef9Bde0444662451e81231C2EC2

IPCI market :: abi

0x352eE84f70d8902fABF44Cf3f954019a72b7d588

Tihomovo ledger owner

0xE2be48F05F9D6Ee1CcF4ee7ccc4Ca0fB20F039C5

dao-ipci's People

Contributors

akru avatar ensrationis avatar evgenrad81 avatar galenovich avatar vol4tim 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dao-ipci's Issues

IPFS files pinning

Обеспечить заливку файлов IPCI всем участникам DAO на локальные ноды ipfs.

Creating DAO IPCI in mainnet

Создать инфраструктуру DAO IPCI для проведения первой транзакции.

Обновить Readme.md

Website transaction verifier

Необходимо предоставить пользователям возможность проверить данные транзакции на покупку / продажу единиц зная уникальный идентификатор транзакции в Ethereum Blockchain.

--
Предлагаю для этого создать раздел на сайте ipci.io /verifytx. В данном разделе показывать поле для ввода номера транзакции и кнопку "verify". После чего сервер обратиться в Blockchain и выведет информацию следующего содержания.

Transaction successful verified!
Issuer: Aera Group
Auditor: Baker Mckenzie
Carbon unit type: Verified Carbon Units (VCUs)
Amount transfered: 123 VCUs
Datetime ~ 09:55 02 feb 2017
Etherscan info

or

Transaction not found. Please contact us via contact form

Обязательства на платформе

Сейчас мы имеем контракт страхования эмиссии, в котором оператор задаёт процент единиц от выпуска единиц. Требуется разработать сейчас аналогичный контракт, который будет требовать наличия на своём счету других токенов (потенциально внутреннего расчетного токена рынка DAO IPCI) и оператор задаёт процент, в пределах которого эмитент может вывести единицы на платформу.
Для примера: оператор задаёт 10% и указывает адрес контракта принимаемого токена с названием "Carbon trading unit". Эмитент переводит на счет контракта 1000 Carbon trading unit и тем самым может эмиссировать до 10 000 своих токенов.

Buiders for DAO IPCI in mainnet

Для работы DAO IPCI, необходимо разместить в основной сети Ethereum следующие билдеры:

  • BuilderCore
  • BuilderOperator
  • BuilderAuditor
  • BuiderComplier
  • BuilderInsuranceHolder
  • BuilderIssuerLedger
  • BuilderACLStorage
  • BuilderTokenEmission
  • BuilderTokenEmissionACL

Changes in IPCI Dapp

Необходимо настроить Dapp IPCI для работы с новыми адресами в основной сети.
Адреса билдеров можно увидеть в этой задаче: #5

DAPP+IPFS+IPNS

Перенести Dapp в ipfs.
Используя ipns привязать dapp к dapp.ipci.io.
Показать схему работы.

Комиссия в эфирах

Нужно изменить контракт Billing.sol, чтобы он принимал эфиры вместо токенов.

Создать "Host Party contract"

В DAO IPCI будет такой тип агентов, который пока что назовем принимающей стороной "Host Party". Этот агент по контракту имеет только одну функцию - сжечь токены на своём балансе.

Особенность: принимающая сторона - это в конечном итоге организация, которая приобретает или пользователи, участвующие в работе этой стороны приобретают единицы IPMU и переводят их на баланс адреса контракта "Host Party contract". Было бы хорошо, если данный контракт мог бы работать с любым токеном IPMU, т.е. к примеру возьмём Аэрофлот. Их клиенты, которые много летают и осознают, что вредят атмосфере, приобретают на рынке DAO IPCI единицы IPMU у разных владельцев реестров IPMU. Соответственно и баланс будет пополняться на разных контрактах токенов. Если бы "Host Party contract" мог бы принимать адрес контракта IPMU и количество единиц для сжигания, то было бы прекрасно.

Также было бы неплохо вести накопительным итогом общее количество единиц IPMU, которые сжег "Host Party contract", хотя это не обязательно, так как можно использовать анализатор блокчейна.

Создать "IPCI auditor contract"

Аудитор, выполняет функции эмиссии и перевода эмиссированных единиц только на счёт владельца реестра токенов IPMU. Других возможностей у него нет. Оператор платформы должен иметь возможность задавать лимит общей эмиссии, доступной аудитору. Если достигнут предел или кол-во уже выпущенных единиц + желаемая аудитором доп эмиссия > лимита, то отказ.

Рабочий процесс контракта:

  • Аудитор обращается к сборщику контракта "IPCI auditor contract builder", указывая адрес оператора, который может добавать лимит и адрес конкретного реестра IPMU для которого создается контракт аудитора.
  • Оператор задает лимит эмиссии аудитором. Лимит работает накопительным итогом при обновлении и контракт соответственно должны знать лимит + кол-во уже выпущенных единиц накопительным итогом.
  • Оператор добавляет в ACL адрес контракта аудитора в выбранную Эмитентом группу аудиторов, тем самым делает возможным эмиссию данному контракту.
  • Контракт аудитора позволяет только вызвать функцию emission, которая эммисирует новые единицы IPMU на счёт аудитора и сразу же отправит их на счёт владельца реестра.

Доработки версии 0.2.0

  • Пересоздать ДАО в официальной сети
  • Адрес оператора в создании контракта аудитора
  • Описание механизма комиссий рынка в AIPs DAO Airalab

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.