区块链金融先驱者

消息平台

新闻

行情

Wiki

图表

市场

基金

指数基金

定制资金

交易

授权加密法定交易

多合一交易平台

消息平台

新闻

行情

Wiki

图表

市场

基金

指数基金

定制资金

交易

授权加密法定交易

多合一交易平台

预售开始于

00
00
小时
00
分钟
00
秒种

1 ZCN = $0.08 (-20%)

我们是来自 传统金融 领域的 疑难解答团队。

我们将我们的知识和技术应用在华丽崭新的加密金融世界,协助您安全和成功地进行投资

播放视频

我们确定并解决加密金融的问题。

我们是来自
传统金融
领域的
疑难解答团队。

我们将我们的知识和技术应用在华丽崭新的加密金融世界,协助您安全和成功地进行投资

我们确定并解决加密金融的问题。

产品

Cryptoeye.com

Cryptoeye.com

  • 通过一个窗口探索密码世界
  • 了解每个加密货币或区块链项目的基本知识
  • 获得全面和明确的市场数据
  • 接收与你的投资组合相关的新闻和分析
  • 开发您的投资策略和回测您的交易概念

现状:测试版

访问网站

TheIndex.Fund

TheIndex.Fund

  • 购买一个代币并获得多样化和可调整的加密货币组合
  • 每个密码指数有5个不同的基金
  • 透明的投资方式和低廉的费用
  • 高安全需求

目前状态:指数已开发。 基金即将发行。

bamp

BAMP

  • 在几秒钟内创建您的合法加密基金
  • 吸引投资者并管理数字货币投资组合
  • 充分利用工业级资产安全
  • 通过单一终端进行主要加密货币交易所的交易

现状:最小可行性产品.

ZiChange

Zichange.io

  • 快速用美元或欧元兑换加密货币
  • 以低廉的费用获得最优惠的价格
  • 无缝汇兑大量加密货币
  • 选择支付方式

现状:许可获得。即将发行

访问网站

Zichain

您通往加密金融世界的门户

生态系统

zitoken
Zichange.io
授权加密法定交易
Cryptoeye.com
消息
和分析平台
自动
加密货币
指数基金
TheIndex.Fund
BAMP
区块链资产管理平台
Zichange.io
Cryptoeye.com
TheIndex.Fund
BAMP

zitoken

$71B

市场和契机

加密是资产的新方法

法定货币世界

总资产

$320T

15%
替代
战略
18%
被动
策略
67%
活跃
策略

$69T

管理资产

加密世间

总资产

$328B

$71B
的潜在市场的大小

管理资产

实时数据由Zichain公司CryptoEYE.com提供。

目标

BAMP

资产管理

goal1

CryptoEYE.com

每月访问人数

goal1

TheIndex.fund

管理资产

goal1

Zichange.io

周转

goal1

发展蓝图

Q3
2017
Q4
2017
Q1
2018
Q2
2018
Q3
2018
Q4
2018
Q1
2019
Q2
2019
Q3
2019
Q4
2019
Q1
2020

BAMP

加密货币基金的基础设施概念。开始IT开发。

TheIndex.fund

加密货币指数开发和指数基金发行相应方法的推出。

CryptoEYE

信息提供商的概念包括新闻聚合器和专栏,能够有效地管理加密货币行业中的资产。

CryptoEYE

阿尔法版本发布:5个加密货币指数,含100个货币和代币详述的Crypto-wiki,加密货币投资计算器。

BAMP

将基金概念转变为全面的资产管理平台(BAMP),以供外部资产经理人使用。

CryptoEYE

CryptoEYE发布。 新闻集成器模块的发布。

Zichange

公司在欧盟成立。 获得加密货币/法币兑汇许可执照。

BAMP

最小可行性产品代币。

TGE

代币生成活动 私人预售.

CryptoEYE

将新闻聚合器整合到CryptoEYE。 CryptoEYE 2.0的发布。

TheIndex.fund

为投资者推出前两个代币化指数基金

tge

代币生成活动 公开发售

BAMP

发布支援所有主要交易所单一终端的交易平台。

TheIndex.fund

推出全系列基金指数

Zichange

加密货币与法币汇兑交易所推出。

BAMP

发布 BAMP 1.0号 (测试版)

CryptoEYE

ZiChange服务和TheIndex.Fund投资产品的整合。 iOS和Android移动应用程序的发布。

Zichange

扩展可汇兑的货币对的数量。 开始与机构投资者和企业客户合作。

CryptoEYE

创建多语言编辑团队发布我们自己的新闻和其他加密货币相关内容。 本地化网站界面和新闻文章(2种语言)。

TheIndex.fund

指数基金开始在传统交易所进行证券化和上市。 为不同国家(美国,新加坡等)的投资者建立合法渠道。

BAMP

法律框架设置

CryptoEYE

其他2种语言全面本地化。BAMP投资产品交易所的推出。

BAMP

BAMP 2.0.的发布。 分布式访问的分散式资产存储。

CryptoEYE

开发进阶新闻和市场数据过滤功能,并按照投资者投资组合提供个人新闻推送。 2种其他语言完全本地化。

CryptoEYE

开发创建和回溯交易策略的分析平台。 多增加了2种以上的语言。

CryptoEYE

2种其他语言的本地化(共10种).

团队

项目领导人

Khachatur是一位拥有丰富经验的投资管理专家,在资产管理和私人银行方面拥有超过10年的资历。在他的职业生涯中,他曾与来自瑞士、俄罗斯、新加坡、卢森堡、塞浦路斯和列支敦士登的领先银行和对冲基金合作。Khachatur是俄罗斯最古老的独立投资集团ATON的合伙人兼董事总经理。 他负责ATON的瑞士业务ATON WM Suisse的开发工作,从2014年的初创公司到瑞士领先的独立资产管理公司之一,管理资产超过2.5亿美元。。Khachatur在经纪,资产重组和财务顾问方面拥有强大的专业知识,并且经常担任替代投资的讲师。他是合格的资产管理和金融市场专家,并拥有政治学学位。

KHACHATUR GUKASYAN

联合创始人,CEO

Sergey是一位经验丰富的项目经理和业务重组专家,在技术,能源和建筑行业(尤其是美国,奥地利和俄罗斯)拥有超过15年的国际经验。Sergey擅长业务流程组织、采购咨询、成本优化和业务管理。 他拥有美国NOVA Southeastern University的金融专业MBA学位。

SERGE GELLER

联合创始人,COO

Stepan是一位屡获殊荣的软件工程师,拥有超过15年的资历,使用一系列突破性技术做软件系统开发。他是一位具有技术远见卓识的人,擅长以服务为导向的架构和技术执行复杂创新项目。。多年来Stepan领导了众多的IT团队和国际项目。他的专长在于企业软件设计、服务导向的架构和技术、软件定义基础架构、大数据、认知计算和人工智能。Stepan是12位科学出版物的作者,拥有计算机科学博士学位。

STEPAN TSATURYAN

PhD, CTO

Andrei是一位在媒体电信和金融科技领域拥有超过20年经验的金融和投资大师。在加入Zichain之前,他花了数年时间创立了数间专门从事移动应用的初创企业和金融科技公司。Andrei还曾在俄罗斯第二大手机零售商Svyaznoy担任首席财务官六年,负责监督该公司的财务规划,预算和产品定价活动。在此之前,他曾在俄罗斯最大的媒体公司之一Media Most管理财务策略。 Andrei于1996年在普华永道会计师事务所开始职业生涯。 他拥有经济和金融学位,并拥有西北大学凯洛格管理学院的工商管理硕士学位。

Andrey Gunin

联合创始人,CFO

Viacheslav在开发和成功实施营销项目方面拥有超过15年的经验。 他特别擅长项目管理,重组,以及危机管理。 Viacheslav在创建和实施众多教育计划和非营利部门计划方面拥有丰富的经验。

Viacheslav Timerbulatov

联合创始人,业务开发主管

Julia是一位多语公关和企业传播专家,拥有超过14年的国际经验,包括新兴市场。在她的职业生涯中,她曾在长期声誉建设、财务公关、媒体和投资者关系、企业传播、IPO、 M&A、危机沟通和诉讼支持等领域提供建议。她也在网上声誉,品牌和企业社会责任领域工作。她的服务范围广泛,从能源,采矿和电信到房地产,金融服务,零售和文化艺术等行业。朱莉娅讲英语,西班牙语,俄语和乌克兰语。 她拥有威斯敏斯特大学国际商业管理硕士学位。 她也是英国投资者关系协会的成员。

Julia Kalcheva

企业沟通

Sergey在IT行业从事项目管理和业务开发工作已有十多年时间。他成功完成了30多个复杂的大型项目,并且通过市场定位和扩张,克服新的行业挑战并实施创新技术。

Sergey Shvey

产品所有人

Alexander是一位经验丰富的项目经理和领先的软件开发人员,在SUN Microsystems和Oracle等大型国际公司拥有超过10年的经验。 他主要的专业领域是数据分析系统、机器学习算法、大数据和自然语言处理。

Alexander Andrianov

产品所有人

David在各个行业开发和协调复杂的IT项目方面有超过15年的经验。他已经成功地为多个国际组织提供了关键IT解决方案。。 David在整个软件项目生命周期中拥有强大的专业知识,包括设计,开发,维护和支持。

David Khudaverdyan

产品所有人

顾问

Alexander Borodich is a pioneer in the fields of innovation and blockchain world, founder of Universa Blockchain and VentureClub, Russia’s number one crowd investment platform and investor club, a business angel, with a track record of over 70 investment projects. Key areas of investment: internet of things, cloud computing, smart cities and SaaS at the seed and idea stages. Alexander Borodich was named "The Most Active Business angel in Russia" by Russian Venture Company, he is Chiefs Dream Officer and managing partner of marketing communication agency Future Action, exMarketing Director of Russian Internet giant Mail.ru Group.
Alexander has often been a speaker at industry conferences. He is a mentor and lecturer at the marketing department of the Higher School of Economics. He was the head of the Moscow State University School of Economics and Mathematics from 2010 till 2013, where he has been teaching New Economics for over 15 years.
Alexander Borodich received MBA from the Stockholm School of Economics (Sweden) in 2007, graduated from the Moscow Institute of Electronics and Mathematics, and got a degree in marketing at the Higher School of Economics National Research University.
avatar

Alexander Borodich

Universa Blockchain founder

Consulted for more than 15 ICOs. He has helped grow various groups to approximately 20k-35k in size, including Strykz, Kinguin, BTU protocol, Lendo, AgentNotNeeded, Axens's Telegram groups. Build a total community of more than 200,000 across multiple ICOs. Raised more than $100 Million for all projects collectively.
Over 25,000 followers on different platforms. Passionate about Cryptocurrency and the underlying technology, blockchain. Deep understanding of the cryptocurrency market. Amassed over 18,000 followers on Telegram (https://t.me/CryptoAnalysisTM). He is an influencer in the Asia market.

Jun Hao Ong

Blockchain Evangelist

Bogdan Fiedur, ICO Advisor, ICOBench Expert, Smart Contract Developer, Full Stack Developer, Advisory Board Member at Cryptocurrency & Blockchain Regulatory Task Force.
Bogdan is an influential blockchain and cryptocurrency expert, investor, entrepreneur and a frequent speaker at high-profile blockchain-themed events. He is currently advising many promising startups, is a co-Founder of bitJob and President of Blockchainexperts.io. With a BS degree in Computer Science from University of Manitoba, Bogdan has over 20 years of IT experience and has acquired intimate knowledge with inner- workings of ICO development from conception to execution and has deep understanding of current Blockchain industry.

Bogdan Fiedur

Full-Stack Developer, ICO Advisor

智能合同

  1.     function revokeAsset(bytes32 _symbol, uint _value) returns(bool);
  2.     function setProxy(address _address, bytes32 _symbol) returns(bool);
  3.     function lockAsset(bytes32 _symbol) returns(bool);
  4.     function proxyTransferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference, address _sender) returns(bool);
  5.     function proxyApprove(address _spender, uint _value, bytes32 _symbol, address _sender) returns(bool);
  6.     function allowance(address _from, address _spender, bytes32 _symbol) constant returns(uint);
  7.     function proxyTransferFromWithReference(address _from, address _to, uint _value, bytes32 _symbol, string _reference, address _sender) returns(bool);
  8. }
  9.  
  10. contract AssetInterface {
  11.     function _performTransferWithReference(address _to, uint _value, string _reference, address _sender) returns(bool);
  12.     function _performTransferToICAPWithReference(bytes32 _icap, uint _value, string _reference, address _sender) returns(bool);
  13.     function _performApprove(address _spender, uint _value, address _sender) returns(bool);
  14.     function _performTransferFromWithReference(address _from, address _to, uint _value, string _reference, address _sender) returns(bool);
  15.     function _performTransferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference, address _sender) returns(bool);
  16.     function _performGeneric(bytes, address) payable {
  17.         revert();
  18.     }
  19. }
  20.  
  21. contract ERC20Interface {
  22.     event Transfer(address indexed from, address indexed to, uint256 value);
  23.     event Approval(address indexed from, address indexed spender, uint256 value);
  24.  
  25.     function totalSupply() constant returns(uint256 supply);
  26.     function balanceOf(address _owner) constant returns(uint256 balance);
  27.     function transfer(address _to, uint256 _value) returns(bool success);
  28.     function transferFrom(address _from, address _to, uint256 _value) returns(bool success);
  29.     function approve(address _spender, uint256 _value) returns(bool success);
  30.     function allowance(address _owner, address _spender) constant returns(uint256 remaining);
  31.  
  32.     // function symbol() constant returns(string);
  33.     function decimals() constant returns(uint8);
  34.     // function name() constant returns(string);
  35. }
  36.  
  37. contract AssetProxyInterface {
  38.     function _forwardApprove(address _spender, uint _value, address _sender) returns(bool);
  39.     function _forwardTransferFromWithReference(address _from, address _to, uint _value, string _reference, address _sender) returns(bool);
  40.     function _forwardTransferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference, address _sender) returns(bool);
  41.     function balanceOf(address _owner) constant returns(uint);
  42. }
  43.  
  44. contract Bytes32 {
  45.     function _bytes32(string _input) internal constant returns(bytes32 result) {
  46.         assembly {
  47.             result := mload(add(_input, 32))
  48.         }
  49.     }
  50. }
  51.  
  52. contract ReturnData {
  53.     function _returnReturnData(bool _success) internal {
  54.         assembly {
  55.             let returndatastart := msize()
  56.             mstore(0x40, add(returndatastart, returndatasize))
  57.             returndatacopy(returndatastart, 0, returndatasize)
  58.             switch _success case 0 { revert(returndatastart, returndatasize) } default { return(returndatastart, returndatasize) }
  59.         }
  60.     }
  61.  
  62.     function _assemblyCall(address _destination, uint _value, bytes _data) internal returns(bool success) {
  63.         assembly {
  64.             success := call(div(mul(gas, 63), 64), _destination, _value, add(_data, 32), mload(_data), 0, 0)
  65.         }
  66.     }
  67. }
  68.  
  69. /**
  70.  * @title EToken2 Asset Proxy.
  71.  *
  72.  * Proxy implements ERC20 interface and acts as a gateway to a single EToken2 asset.
  73.  * Proxy adds etoken2Symbol and caller(sender) when forwarding requests to EToken2.
  74.  * Every request that is made by caller first sent to the specific asset implementation
  75.  * contract, which then calls back to be forwarded onto EToken2.
  76.  *
  77.  * Calls flow: Caller ->
  78.  *             Proxy.func(...) ->
  79.  *             Asset._performFunc(..., Caller.address) ->
  80.  *             Proxy._forwardFunc(..., Caller.address) ->
  81.  *             Platform.proxyFunc(..., symbol, Caller.address)
  82.  *
  83.  * Generic call flow: Caller ->
  84.  *             Proxy.unknownFunc(...) ->
  85.  *             Asset._performGeneric(..., Caller.address) ->
  86.  *             Asset.unknownFunc(...)
  87.  *
  88.  * Asset implementation contract is mutable, but each user have an option to stick with
  89.  * old implementation, through explicit decision made in timely manner, if he doesn't agree
  90.  * with new rules.
  91.  * Each user have a possibility to upgrade to latest asset contract implementation, without the
  92.  * possibility to rollback.
  93.  *
  94.  * Note: all the non constant functions return false instead of throwing in case if state change
  95.  * didn't happen yet.
  96.  */
  97. contract AssetProxy is ERC20Interface, AssetProxyInterface, Bytes32, ReturnData {
  98.     // Assigned EToken2, immutable.
  99.     EToken2Interface public etoken2;
  100.  
  101.     // Assigned symbol, immutable.
  102.     bytes32 public etoken2Symbol;
  103.  
  104.     // Assigned name, immutable. For UI.
  105.     string public name;
  106.     string public symbol;
  107.  
  108.     /**
  109.      * Sets EToken2 address, assigns symbol and name.
  110.      *
  111.      * Can be set only once.
  112.      *
  113.      * @param _etoken2 EToken2 contract address.
  114.      * @param _symbol assigned symbol.
  115.      * @param _name assigned name.
  116.      *
  117.      * @return success.
  118.      */
  119.     function init(EToken2Interface _etoken2, string _symbol, string _name) returns(bool) {
  120.         if (address(etoken2) != 0x0) {
  121.             return false;
  122.         }
  123.         etoken2 = _etoken2;
  124.         etoken2Symbol = _bytes32(_symbol);
  125.         name = _name;
  126.         symbol = _symbol;
  127.         return true;
  128.     }
  129.  
  130.     /**
  131.      * Only EToken2 is allowed to call.
  132.      */
  133.     modifier onlyEToken2() {
  134.         if (msg.sender == address(etoken2)) {
  135.             _;
  136.         }
  137.     }
  138.  
  139.     /**
  140.      * Only current asset owner is allowed to call.
  141.      */
  142.     modifier onlyAssetOwner() {
  143.         if (etoken2.isOwner(msg.sender, etoken2Symbol)) {
  144.             _;
  145.         }
  146.     }
  147.  
  148.     /**
  149.      * Returns asset implementation contract for current caller.
  150.      *
  151.      * @return asset implementation contract.
  152.      */
  153.     function _getAsset() internal returns(AssetInterface) {
  154.         return AssetInterface(getVersionFor(msg.sender));
  155.     }
  156.  
  157.     function recoverTokens(uint _value) onlyAssetOwner() returns(bool) {
  158.         return this.transferWithReference(msg.sender, _value, 'Tokens recovery');
  159.     }
  160.  
  161.     /**
  162.      * Returns asset total supply.
  163.      *
  164.      * @return asset total supply.
  165.      */
  166.     function totalSupply() constant returns(uint) {
  167.         return etoken2.totalSupply(etoken2Symbol);
  168.     }
  169.  
  170.     /**
  171.      * Returns asset balance for a particular holder.
  172.      *
  173.      * @param _owner holder address.
  174.      *
  175.      * @return holder balance.
  176.      */
  177.     function balanceOf(address _owner) constant returns(uint) {
  178.         return etoken2.balanceOf(_owner, etoken2Symbol);
  179.     }
  180.  
  181.     /**
  182.      * Returns asset allowance from one holder to another.
  183.      *
  184.      * @param _from holder that allowed spending.
  185.      * @param _spender holder that is allowed to spend.
  186.      *
  187.      * @return holder to spender allowance.
  188.      */
  189.     function allowance(address _from, address _spender) constant returns(uint) {
  190.         return etoken2.allowance(_from, _spender, etoken2Symbol);
  191.     }
  192.  
  193.     /**
  194.      * Returns asset decimals.
  195.      *
  196.      * @return asset decimals.
  197.      */
  198.     function decimals() constant returns(uint8) {
  199.         return etoken2.baseUnit(etoken2Symbol);
  200.     }
  201.  
  202.     /**
  203.      * Transfers asset balance from the caller to specified receiver.
  204.      *
  205.      * @param _to holder address to give to.
  206.      * @param _value amount to transfer.
  207.      *
  208.      * @return success.
  209.      */
  210.     function transfer(address _to, uint _value) returns(bool) {
  211.         return transferWithReference(_to, _value, '');
  212.     }
  213.  
  214.     /**
  215.      * Transfers asset balance from the caller to specified receiver adding specified comment.
  216.      * Resolves asset implementation contract for the caller and forwards there arguments along with
  217.      * the caller address.
  218.      *
  219.      * @param _to holder address to give to.
  220.      * @param _value amount to transfer.
  221.      * @param _reference transfer comment to be included in a EToken2's Transfer event.
  222.      *
  223.      * @return success.
  224.      */
  225.     function transferWithReference(address _to, uint _value, string _reference) returns(bool) {
  226.         return _getAsset()._performTransferWithReference(_to, _value, _reference, msg.sender);
  227.     }
  228.  
  229.     /**
  230.      * Transfers asset balance from the caller to specified ICAP.
  231.      *
  232.      * @param _icap recipient ICAP to give to.
  233.      * @param _value amount to transfer.
  234.      *
  235.      * @return success.
  236.      */
  237.     function transferToICAP(bytes32 _icap, uint _value) returns(bool) {
  238.         return transferToICAPWithReference(_icap, _value, '');
  239.     }
  240.  
  241.     /**
  242.      * Transfers asset balance from the caller to specified ICAP adding specified comment.
  243.      * Resolves asset implementation contract for the caller and forwards there arguments along with
  244.      * the caller address.
  245.      *
  246.      * @param _icap recipient ICAP to give to.
  247.      * @param _value amount to transfer.
  248.      * @param _reference transfer comment to be included in a EToken2's Transfer event.
  249.      *
  250.      * @return success.
  251.      */
  252.     function transferToICAPWithReference(bytes32 _icap, uint _value, string _reference) returns(bool) {
  253.         return _getAsset()._performTransferToICAPWithReference(_icap, _value, _reference, msg.sender);
  254.     }
  255.  
  256.     /**
  257.      * Prforms allowance transfer of asset balance between holders.
  258.      *
  259.      * @param _from holder address to take from.
  260.      * @param _to holder address to give to.
  261.      * @param _value amount to transfer.
  262.      *
  263.      * @return success.
  264.      */
  265.     function transferFrom(address _from, address _to, uint _value) returns(bool) {
  266.         return transferFromWithReference(_from, _to, _value, '');
  267.     }
  268.  
  269.     /**
  270.      * Prforms allowance transfer of asset balance between holders adding specified comment.
  271.      * Resolves asset implementation contract for the caller and forwards there arguments along with
  272.      * the caller address.
  273.      *
  274.      * @param _from holder address to take from.
  275.      * @param _to holder address to give to.
  276.      * @param _value amount to transfer.
  277.      * @param _reference transfer comment to be included in a EToken2's Transfer event.
  278.      *
  279.      * @return success.
  280.      */
  281.     function transferFromWithReference(address _from, address _to, uint _value, string _reference) returns(bool) {
  282.         return _getAsset()._performTransferFromWithReference(_from, _to, _value, _reference, msg.sender);
  283.     }
  284.  
  285.     /**
  286.      * Performs transfer call on the EToken2 by the name of specified sender.
  287.      *
  288.      * Can only be called by asset implementation contract assigned to sender.
  289.      *
  290.      * @param _from holder address to take from.
  291.      * @param _to holder address to give to.
  292.      * @param _value amount to transfer.
  293.      * @param _reference transfer comment to be included in a EToken2's Transfer event.
  294.      * @param _sender initial caller.
  295.      *
  296.      * @return success.
  297.      */
  298.     function _forwardTransferFromWithReference(address _from, address _to, uint _value, string _reference, address _sender) onlyImplementationFor(_sender) returns(bool) {
  299.         return etoken2.proxyTransferFromWithReference(_from, _to, _value, etoken2Symbol, _reference, _sender);
  300.     }
  301.  
  302.     /**
  303.      * Prforms allowance transfer of asset balance between holders.
  304.      *
  305.      * @param _from holder address to take from.
  306.      * @param _icap recipient ICAP address to give to.
  307.      * @param _value amount to transfer.
  308.      *
  309.      * @return success.
  310.      */
  311.     function transferFromToICAP(address _from, bytes32 _icap, uint _value) returns(bool) {
  312.         return transferFromToICAPWithReference(_from, _icap, _value, '');
  313.     }
  314.  
  315.     /**
  316.      * Prforms allowance transfer of asset balance between holders adding specified comment.
  317.      * Resolves asset implementation contract for the caller and forwards there arguments along with
  318.      * the caller address.
  319.      *
  320.      * @param _from holder address to take from.
  321.      * @param _icap recipient ICAP address to give to.
  322.      * @param _value amount to transfer.
  323.      * @param _reference transfer comment to be included in a EToken2's Transfer event.
  324.      *
  325.      * @return success.
  326.      */
  327.     function transferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference) returns(bool) {
  328.         return _getAsset()._performTransferFromToICAPWithReference(_from, _icap, _value, _reference, msg.sender);
  329.     }
  330.  
  331.     /**
  332.      * Performs allowance transfer to ICAP call on the EToken2 by the name of specified sender.
  333.      *
  334.      * Can only be called by asset implementation contract assigned to sender.
  335.      *
  336.      * @param _from holder address to take from.
  337.      * @param _icap recipient ICAP address to give to.
  338.      * @param _value amount to transfer.
  339.      * @param _reference transfer comment to be included in a EToken2's Transfer event.
  340.      * @param _sender initial caller.
  341.      *
  342.      * @return success.
  343.      */
  344.     function _forwardTransferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference, address _sender) onlyImplementationFor(_sender) returns(bool) {
  345.         return etoken2.proxyTransferFromToICAPWithReference(_from, _icap, _value, _reference, _sender);
  346.     }
  347.  
  348.     /**
  349.      * Sets asset spending allowance for a specified spender.
  350.      * Resolves asset implementation contract for the caller and forwards there arguments along with
  351.      * the caller address.
  352.      *
  353.      * @param _spender holder address to set allowance to.
  354.      * @param _value amount to allow.
  355.      *
  356.      * @return success.
  357.      */
  358.     function approve(address _spender, uint _value) returns(bool) {
  359.         return _getAsset()._performApprove(_spender, _value, msg.sender);
  360.     }
  361.  
  362.     /**
  363.      * Performs allowance setting call on the EToken2 by the name of specified sender.
  364.      *
  365.      * Can only be called by asset implementation contract assigned to sender.
  366.      *
  367.      * @param _spender holder address to set allowance to.
  368.      * @param _value amount to allow.
  369.      * @param _sender initial caller.
  370.      *
  371.      * @return success.
  372.      */
  373.     function _forwardApprove(address _spender, uint _value, address _sender) onlyImplementationFor(_sender) returns(bool) {
  374.         return etoken2.proxyApprove(_spender, _value, etoken2Symbol, _sender);
  375.     }
  376.  
  377.     /**
  378.      * Emits ERC20 Transfer event on this contract.
  379.      *
  380.      * Can only be, and, called by assigned EToken2 when asset transfer happens.
  381.      */
  382.     function emitTransfer(address _from, address _to, uint _value) onlyEToken2() {
  383.         Transfer(_from, _to, _value);
  384.     }
  385.  
  386.     /**
  387.      * Emits ERC20 Approval event on this contract.
  388.      *
  389.      * Can only be, and, called by assigned EToken2 when asset allowance set happens.
  390.      */
  391.     function emitApprove(address _from, address _spender, uint _value) onlyEToken2() {
  392.         Approval(_from, _spender, _value);
  393.     }
  394.  
  395.     /**
  396.      * Resolves asset implementation contract for the caller and forwards there transaction data,
  397.      * along with the value. This allows for proxy interface growth.
  398.      */
  399.     function () payable {
  400.         _getAsset()._performGeneric.value(msg.value)(msg.data, msg.sender);
  401.         _returnReturnData(true);
  402.     }
  403.  
  404.     // Interface functions to allow specifying ICAP addresses as strings.
  405.     function transferToICAP(string _icap, uint _value) returns(bool) {
  406.         return transferToICAPWithReference(_icap, _value, '');
  407.     }
  408.  
  409.     function transferToICAPWithReference(string _icap, uint _value, string _reference) returns(bool) {
  410.         return transferToICAPWithReference(_bytes32(_icap), _value, _reference);
  411.     }
  412.  
  413.     function transferFromToICAP(address _from, string _icap, uint _value) returns(bool) {
  414.         return transferFromToICAPWithReference(_from, _icap, _value, '');
  415.     }
  416.  
  417.     function transferFromToICAPWithReference(address _from, string _icap, uint _value, string _reference) returns(bool) {
  418.         return transferFromToICAPWithReference(_from, _bytes32(_icap), _value, _reference);
  419.     }
  420.  
  421.     /**
  422.      * Indicates an upgrade freeze-time start, and the next asset implementation contract.
  423.      */
  424.     event UpgradeProposed(address newVersion);
  425.     event UpgradePurged(address newVersion);
  426.     event UpgradeCommited(address newVersion);
  427.     event OptedOut(address sender, address version);
  428.     event OptedIn(address sender, address version);
  429.  
  430.     // Current asset implementation contract address.
  431.     address latestVersion;
  432.  
  433.     // Proposed next asset implementation contract address.
  434.     address pendingVersion;
  435.  
  436.     // Upgrade freeze-time start.
  437.     uint pendingVersionTimestamp;
  438.  
  439.     // Timespan for users to review the new implementation and make decision.
  440.     uint constant UPGRADE_FREEZE_TIME = 3 days;
  441.  
  442.     // Asset implementation contract address that user decided to stick with.
  443.     // 0x0 means that user uses latest version.
  444.     mapping(address => address) userOptOutVersion;
  445.  
  446.     /**
  447.      * Only asset implementation contract assigned to sender is allowed to call.
  448.      */
  449.     modifier onlyImplementationFor(address _sender) {
  450.         if (getVersionFor(_sender) == msg.sender) {
  451.             _;
  452.         }
  453.     }
  454.  
  455.     /**
  456.      * Returns asset implementation contract address assigned to sender.
  457.      *
  458.      * @param _sender sender address.
  459.      *
  460.      * @return asset implementation contract address.
  461.      */
  462.     function getVersionFor(address _sender) constant returns(address) {
  463.         return userOptOutVersion[_sender] == 0 ? latestVersion : userOptOutVersion[_sender];
  464.     }
  465.  
  466.     /**
  467.      * Returns current asset implementation contract address.
  468.      *
  469.      * @return asset implementation contract address.
  470.      */
  471.     function getLatestVersion() constant returns(address) {
  472.         return latestVersion;
  473.     }
  474.  
  475.     /**
  476.      * Returns proposed next asset implementation contract address.
  477.      *
  478.      * @return asset implementation contract address.
  479.      */
  480.     function getPendingVersion() constant returns(address) {
  481.         return pendingVersion;
  482.     }
  483.  
  484.     /**
  485.      * Returns upgrade freeze-time start.
  486.      *
  487.      * @return freeze-time start.
  488.      */
  489.     function getPendingVersionTimestamp() constant returns(uint) {
  490.         return pendingVersionTimestamp;
  491.     }
  492.  
  493.     /**
  494.      * Propose next asset implementation contract address.
  495.      *
  496.      * Can only be called by current asset owner.
  497.      *
  498.      * Note: freeze-time should not be applied for the initial setup.
  499.      *
  500.      * @param _newVersion asset implementation contract address.
  501.      *
  502.      * @return success.
  503.      */
  504.     function proposeUpgrade(address _newVersion) onlyAssetOwner() returns(bool) {
  505.         // Should not already be in the upgrading process.
  506.         if (pendingVersion != 0x0) {
  507.             return false;
  508.         }
  509.         // New version address should be other than 0x0.
  510.         if (_newVersion == 0x0) {
  511.             return false;
  512.         }
  513.         // Don't apply freeze-time for the initial setup.
  514.         if (latestVersion == 0x0) {
  515.             latestVersion = _newVersion;
  516.             return true;
  517.         }
  518.         pendingVersion = _newVersion;
  519.         pendingVersionTimestamp = now;
  520.         UpgradeProposed(_newVersion);
  521.         return true;
  522.     }
  523.  
  524.     /**
  525.      * Cancel the pending upgrade process.
  526.      *
  527.      * Can only be called by current asset owner.
  528.      *
  529.      * @return success.
  530.      */
  531.     function purgeUpgrade() onlyAssetOwner() returns(bool) {
  532.         if (pendingVersion == 0x0) {
  533.             return false;
  534.         }
  535.         UpgradePurged(pendingVersion);
  536.         delete pendingVersion;
  537.         delete pendingVersionTimestamp;
  538.         return true;
  539.     }
  540.  
  541.     /**
  542.      * Finalize an upgrade process setting new asset implementation contract address.
  543.      *
  544.      * Can only be called after an upgrade freeze-time.
  545.      *
  546.      * @return success.
  547.      */
  548.     function commitUpgrade() returns(bool) {
  549.         if (pendingVersion == 0x0) {
  550.             return false;
  551.         }
  552.         if (pendingVersionTimestamp + UPGRADE_FREEZE_TIME > now) {
  553.             return false;
  554.         }
  555.         latestVersion = pendingVersion;
  556.         delete pendingVersion;
  557.         delete pendingVersionTimestamp;
  558.         UpgradeCommited(latestVersion);
  559.         return true;
  560.     }
  561.  
  562.     /**
  563.      * Disagree with proposed upgrade, and stick with current asset implementation
  564.      * until further explicit agreement to upgrade.
  565.      *
  566.      * @return success.
  567.      */
  568.     function optOut() returns(bool) {
  569.         if (userOptOutVersion[msg.sender] != 0x0) {
  570.             return false;
  571.         }
  572.         userOptOutVersion[msg.sender] = latestVersion;
  573.         OptedOut(msg.sender, latestVersion);
  574.         return true;
  575.     }
  576.  
  577.     /**
  578.      * Implicitly agree to upgrade to current and future asset implementation upgrades,
  579.      * until further explicit disagreement.
  580.      *
  581.      * @return success.
  582.      */
  583.     function optIn() returns(bool) {
  584.         delete userOptOutVersion[msg.sender];
  585.         OptedIn(msg.sender, latestVersion);
  586.         return true;
  587.     }
  588.  
  589.     // Backwards compatibility.
  590.     function multiAsset() constant returns(EToken2Interface) {
  591.         return etoken2;
  592.     }
  593. }

合伙人

会见我们

  • flag

    May 26-29 贵阳, 中国

    Big Data Industry Expo 2018

  • flag

    5月22至23日 伦敦,大不列颠

    Next Generation VP & PE Forum

  • flag

    5月14至17日 纽约,美国

    Consensus

  • flag

    5月9日 香港,中国

    Fintech O2O Global Summit

  • flag

    5月8日 香港,中国

    Block O2O Blockchain Summit

代币生成活动

代币预售
-20%

1 ZCN = US$0.08

2018年5月21号

代币销售
0%

1 ZCN = US$0.1'

2018年7月2日

代币分配

  • 64% 代币销售
  • 21% 管理团队
  • 10% 咨询董事会
  • 2% Referral Program
  • 2% 赏金计划
  • 1% Airdrop
Airdrop
1%
赏金计划
2%
Referral Program
2%
咨询董事会
10%
管理团队
21%
代币销售
64%
abacus

Zitoken (ZCN)为我们的生态系统提供动力。每个用ZCN代币付Zichain服务的人都可得到30%的折扣。用其他加密货币付款的50%会被保留,并用于每周回购Zi代币。

  • CryptoEYE.com: 获得进阶分析和预测,管理新闻来源;
  • BAMP:支付平台所有服务费用的渠道。
  • TheIndex.Fund: 投资于指数的费用支付
  • Zichange.io:具竞争性汇率

预算

  • 32.2% 产品发展
  • 15.5% 人员
  • 14.3% PR & 市场营销
  • 14.2% 援助
  • 11.4% 法律
  • 5.6% 加密安全
  • 3.1% 行政成本
  • 2.0% 基础设施
  • 1.6% 其他成本
基础设施
2.0%
1.6%
其他成本
行政成本
3.2%
加密安全
5.6%
法律
11.4%
援助
14.2%
PR & 市场营销
14.3%
32.2%
产品发展
15.5%
人员
calculator
文件
白皮书
Light Paper
BAMP技术描述
CryptoEYE技术文件

FAQ

1
Zichain是什么??

Zichain利用传统金融世界的最佳实践与创新技术相结合,在提供给私人和机构投资者的加密资产管理行业中发挥了主导作用。。我们正在开发一个由多个关键产品组成的生态系统:启动和管理投资基金的平台、新闻和市场数据提供者、运用我们加密货币指数族的指数基金、加密货币和法币汇兑平台,和金融服务市场。

2
你为什么要建造Zichain??

我们意识到大量人们对加密货币世界的兴趣和关注日益增加。这不仅只有散户,大型投资机构亦是如此。然而投资者和经理人仍然没有统一的解决方案来执行便捷,可靠和安全的资产管理。这就是我们看到这个行业巨大潜力的原因,并相信我们可以占据重要的市场份额

3
项目竞争优势是什么?

目前有许多体面的项目已经发布了产品或者至少有一个原型。 但是他们都只专注于投资过程的一小部分。与竞争对手不同的是,Zichain开发了一个成熟的生态系统,为投资者和基金经理提供一处进入金融基础设施的机会。至于产品和流程优化方面,我们依靠多年传统金融界的经验和最佳做法,为加密资产管理行业的未来发展奠定基础。

4
有任何发布的产品??

我们已经发布了CryptoEYE的Beta测试版本。 Beta包含有关我们的加密货币指数的详细信息以及含有全面代币描述的Crypto-wiki。2018年至2019年将发布新闻聚合、我们自有的加密货币内文发表、通过交易所提供投资产品等附加功能。。 ZiChange和TheIndex.Fund的第一个版本将于2018年第二季度推出。拥有分散式资产储存的BAMP将最迟于2019年第二季度推出。

5
谁是本项目生态系统的目标受众?

ZiChange提供每个人购买和销售数字货币到法币渠道进而连接到加密世界。TheIndex.Fund是被动加密货币投资者的最佳选择。 BAMP是一个便利的解决方案,提供每位优秀基金经理人,访问资产管理基础设施和一站式交易平台。 CryptoEYE是针对对加密货币有兴趣的人所开发的平台,他们可以通过平台获取所有市场数据,阅读与其投资组合有关的新闻,以及了解关于货币或代币的信息。

6
如何使用代币销售收益??

出售代币的收益将被转发,以实现路线图中所述的目标。 这项工作将集中在以下领域:

  • IT基础架构 - 构建可扩展的系统架构
  • IT开发 - TheIndex.Fund交易操作自动化,BAMP和CryptoEYE功能扩展,分散式资产访问的开发
  • 营销和公关 -广泛推广我们的产品,以便在低竞争的市场中占有相当大的份额,并向进阶转向阶段性成长。
  • 提供流动性 - 为ZiChange建立加密货币库存并推出造市算法。
  • 雇用优秀员工,与最佳交易对手建立合作伙伴关系,并创建团队以10种语言将产品本地化。
  • 法律支持:资金证券化以允许来自任何国家的投资者进入、安全代币注册以及主要和最重要地方的投资活动许可
  • 网络安全一 开发架构并以最可靠的方式保护用户的资金和数据。
1
什么是区块链资产管理平台(BAMP)?

BAMP BAMP为允许创建具有自动化管理功能 (投资政策报表监督、会计、风险管理等) 的定制基金平台。该平台提供了所有必需的基础设施,以维护资产管理行业普遍公认的安全和透明度标准。其中一个重要的特点是能够使用便利的交易基础设施来管理基金资产。该基础设施允许通过单一终端在大多数交易所进行交易。

2
TheIndex.Fund是什么?

TheIndex.Fund为一系列指数基金,并给被动投资者创造一个熟悉且便利的环境。通过使用传统金融领域的最佳实践,我们创建了一系列加密货币指数,成为我们指数基金的基准指数。 每个投资者都能够投资到市场里最适合自己的部分。

3
CryptoEYE是什么?

CryptoEYE为帮助投资者和管理人员遵循复杂而未结构化的加密货币世界网站。 每个用户都可以根据自己的喜好定制市场信息和新闻的流量。门户网站将成为投资者的单一切入点和资产经理人的广告平台。

4
Zichange.io是什么?

ZiChange是简单,安全和方便利用法币购买加密货币的汇兑平台。 我们采用尖端技术,并以最优惠的价格和最安全的方式向您提供数字货币。

1
Zitoken是什么类型的代币?

Zitoken是以太坊区块链的ERC20支付代币。代币为内部货币,并为我们服务生态系统提供了动力。

2
为什么要使用Zitoken代币?

用Zitoken支付我们服务的投资人和经理人都可享有30%折扣。这些服务包括:基金经理的营销工具CryptoEYE、BAMP基金基础设施和交易平台,TheIndex.Fund投资,甚至ZiChange.io汇兑手续费。之后我们也计划提供支付我们伙伴服务的机会。。

3
要创建多少Zitoken代币?

在代币生成事件(TGE)期间,我们计划发行不超过70,312,500个代币,其中最高达45,000,000(占发行总额的64%)可以在预售和代币销售阶段出售给投资者。在TGE期间未售出的所有代币将被注销。除了已售出的代币之外,总发行中的21%将属于项目团队(最多14,765,625代币),代币的10%将转发给咨询委员会(最多7,031,250代币),代币的5%将作为参与赏金计划的奖励(最多3,515,625个代币)。

1
如何参与代币销售?

要参加代币销售,您需要注册帐户并登录该网站,通过KYC程序,并支付Zichain代币。 我们接受比特币(BTC),以太币(ETH)和莱特币(LTC)。

2
有KYC要求吗?

您必须通过KYC程序才能接收Zichain代币。 您需要提供身份证件(护照,驾驶执照或国家身份证件)以及确认住所的文件。 KYC系统可以在TGE开始时访问。 届时您将收到一封包含说明的电子邮件。 您可以在购买代币之前或之后通过KYC程序,但至少在代币销售结束前的7天。 在KYC验证和购买成功后,代币会立即发出并传输。

3
销售什么时候开始?销售多长时间?

代币生成活动(TGE) 分三个阶段进行:私人预售,公开预售和主要代币出售。私人预售于2018年4月2日开始,下一阶段将于2018年第二季度开始,日期待定。在参与活动的早期阶段的情况下,可以最终销售价格高达65%的折扣购买代币($1.00)。在私人预售期间,高达800万代币将以0.35美元的价格出售,最低购买价格应为10,000美元。在公开预售中,代币将以每个0.60美元的价格出售。在代币销售期间,所有剩余的代币将根据购买时间以0.80美元和1.00美元之间的价格出售。将会有四轮,每轮10天,价格逐渐上涨(第一轮:0.80美元,第二轮:0.85美元,第三轮:0.90美元,第四轮:1.00美元)。

4
最低购买金额是多少?

在私人预售期间,代币的最低购买金额应至少为10,000美元,或其加密货币的当量由购买时的平均汇率等价的加密货币决定。 在公众预售期间,代币的最低购买量应至少为500美元或其加密货币的等价物。 在代币销售期间,代币的最低购买总额应为50美元。

5
你们接受什么付款方式?

您仅可以使用以下加密货币支付Zichain代币:比特币(BTC),以太坊(ETH)和莱特币(LTC)。 代币可以直接从您的帐户购买。 请注意,我们不接受加密货币兑换钱包的转帐。 如果您没有使用您的个人BTC或ETH钱包进行付款,交易将被拒绝并且资金将被退回。

6
付款要多久后才能到帐?

只要您的付款到达我们的加密货币钱包并且完成了数个确认,平台就会自动启动将代币转至您的以太坊钱包。如果以太坊网络过载,该过程可能需要几个小时。