去中心化分散式资产管理

播放视频
预售倒计时

00

00

小时

00

分钟

00

加密金融公司Zichain很荣幸宣布Alexander Borodich先生被任命为顾问委员会成员
在我们平台上的所有产品均可作为独立的产品单独运行,这也意味着我们可以分别在不同的时间来启动它们。一旦一切就绪,我们就希望会有尽可能多的人借助我们这个平台成为他们进入加密市场的切入点。
当前,关于资产安全的问题变得愈加复杂。
作为一家跨国加密金融公司, Zichain率先推出了两支加密货币指数基金,这种不同于其他任何产品的设计使得投资数字资产变得便捷、安全、和明智。
在欧盟获取运营执照的公司负责使用多重签名聚簇存储技术,确保了投资人资产的安全性。投资者的个人账户具有诸如自动再平衡以及高效执行系统等特征。
Sergey Kovtunenko 先生是俄罗斯金融领域最前沿的一批专家之一,他拥有超过13年在俄罗斯乃至全球最大投资银行的工作经验。被任命为 Zichain 企业集团的执行总监,负责数字资产管理。
加密金融公司Zichain很荣幸宣布Alexander Borodich先生被任命为顾问委员会成员。 Alexander Borodich是创新领域的重要先驱,在全球拥有70多项风险投资项目。同时,他也是一位数字媒体战略策划师。
传统金融世界的地位之确立,从建立之初便不免受制于各政府部门的严格管控,其职能被各大银行,经纪人,证券二级市场,审计部门,和各类出资方所共同瓜分。
Double Capital Group金融公司,作为列席的金融领域专业智囊出席莫斯科区块链&比特币大会。
目前,CryptoEYE.pro 项目处于开发的第一个阶段:加密指数已经实施,知识库和面向投资者的安全设备也已经安排。未来,平台将新增基于大数据分析的聚合器、指数基金购买机会,以及交易策略开发和交易假设测试服务。
Zichain公司将传统金融领域的丰富经验与前沿技术相结合。已研发出了4种便捷、安全的产品,使所有人都能非常成功地投资加密货币,追踪跟进投资业绩,并获取来自于加密市场的最新数据。
Zichain的顾问团队的成立是为了给公司最高管理决策层提供战略指导参谋和极具价值的科学技术咨询。同时还确保了Zichain公司在日常运营中得以获取新的增长契机。Alexander Borodich与本月初新加入咨询委员会的Jun Hao以及Bogdan Fiedur一同紧密合作。
Zichain是一家总部位于瑞士境内的区块链金融公司,亦是加密货币在指数行业内的领导者,并于2017年12月推出了世界上首个加密货币指数化服务和分析服务。
Zichain当前已成功专注于研发了4个关键核心产品:为寄希望于推出白标级别基金的资产管理公司提供一种性能独特而操作便捷的平台;产品基于加密指数家族的一系列加密货币指数基金;一种基于收集分析行业讯息,市场数据的全新基础架构;此外还拥有一个先进的加密交易平台。
Zichain首席执行官Khachatur Gukasyan先生说:“我很荣幸地欢迎Alexander加入我们的董事会。作为区块链技术领域的传奇人物,他为我们带来了宝贵的学识和独道的经验。我很高兴他与我分享了Zichain是如何成为整个加密金融行业内的领导者的展望。
Alexander Borodich评论:“我很高兴能加入Zichain,在公司不断发展的如此激动人心的时刻。我相信他们的宏伟抱负,我期待与这样一支充满活力的团队合作,支持他们不断开拓区块链金融世界的愿景。

运用一站式购物的投资服务模式,让我们的分散式资产管理方案能够把投资人以及资金管理人紧密连接在一起。

生态系统

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

zitoken

产品

Cryptoeye.com

Cryptoeye.com

  • 探索加密世界的窗口
  • 了解每一项加密货币和区块链项目的基本知识
  • 获取全面,明确无误的市场数据
  • 接收与您投资组合相关的新闻讯息和分析报告
  • 开发并回溯投资策略的交易理念

状态:内测版

访问网站

TheIndex.Fund

TheIndex.Fund

  • 购买一枚代币并获得多样化并可任意进行调整的加密货币组合
  • 每支加密指数由5个不同的基金构成
  • 透明的投资方式和低廉的费用
  • 最高级别的安全保障

当前状态:指数指标已完成开发。 基金即将发行。

bamp

BAMP

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

当前状态:最小化可实行产品.

ZiChange

Zichange.io

  • 快速使用法定货币来实现其与加密货币间的互兑
  • 以低廉的成本获取最优惠的价格
  • 无缝汇兑大量加密货币
  • 选择多种支付方式

当前状态:获取授权执照。即将发行

访问网站

Zichain

引领您进入加密金融世界的大门

$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

软件公测版发布。 新闻集成模块的发布。

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

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

Sergey Kovtunenko 精通金融市场,在财富管理和私人银行领域拥有超过13年以上的相关经验。Sergey 曾在几家全球领先的金融机构从事针对高净值客户以及超高净值客户开展的工作。在最近4年中,他一直在瑞士银行效力。在这之前,他一直在 Troika Dialog, Sberbank Private Banking 等大型金融机构工作。基于 TAC 和 NTAC(传统/ 非传统资产类别) ,他在战略资产配置领域有极高的造诣:诸如全球股本,固定收益,对冲基金,私人市场,基于外汇 / 消费品 / 权益的结构化方案。在此之前,他曾在市场领先的电讯供应商- 华为和阿尔卡特供职,在其接入网部门担任产品经理。Sergey 是获得 Novosibirsk 国立科技大学情报系统专业学位的经济学家。

Sergey Kovtunenko

执行总监

Ekaterina是一位市场营销、公关和社会活动方面的专家。她在制定营销策略、沟通和活动管理方面有着丰富的经验。在加入Zichain之前,她曾在Sberbank CIB(前三驾马车对话框)和ATON等公司工作过。是一位出类拔萃的金融市场专家。Ekaterina以优异的成绩从商业和法律大学毕业,她拥有国际商业和经济安全领域的学位。

Ekaterina Matveeva

营销主管

Taras是另类投资和资产管理领域的金融市场方面专家。他在对冲基金和共同基金结构方面有着丰富的经验,并在俄罗斯最古老的独立投资集团ATON为高净值人士服务的对冲基金平台的开发中发挥了关键作用。Taras在新经济学院和高等经济学院拥有经济学学位。

Taras Chumachenko

合作伙伴,产品负责人

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

Sergey Shvey

产品所有人

Alexander是一位经验丰富的项目经理和杰出的软件开发工程师,在SUN Microsystems和Oracle等世界大型跨国企业拥有超过10年的丰富经验。 他主要精通的专业领域在数据分析系统、机器智能算法、大数据和自然语言处理等。

Alexander Andrianov

产品所有人

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

David Khudaverdyan

产品所有人

Danil是金融市场专家,拥有专业高频交易基金的定量研究经验。他有在莫斯科交易所开发和部署交易算法的成功记录,并且对基础架构层级的市场运作有相当深刻的理解。主要精通专业领域广泛,涉猎市场微观结构、执行算法、定制统计套利策略以及算法设计。Danil拥有高等经济学校和新经济学院的经济学学位。

Danil Yakovlev

交易基础架构经理

计算机科学博士,拥有超过13年实施和支持高效与可扩展软件解决方案的实践经验。在多层应用架构、开发和维护方面拥有极其丰富的经验。他亦是软件开发进程的专家和导师,敏捷开发指导者和区块链技术爱好者。

Arthur Hakobyan

博士,软件架构师

具有超过15年软件设计和开发经验的软件架构师。在完整的后端与前端解决方案、数据分析、数据库和API设计方面均拥有丰富的专业学识。擅长设计面向服务的架构和大互联网流量处理的应用程序。

Armen Ivanyan

软件架构师

经验丰富的软件工程专业人士,在亚美尼亚国家科学院获得信息技术硕士学位。在信息技术与软件服务行业具有傲人履历。擅长面向对象的编程、Microsoft .Net Framework 和 Web API 的设计与实现。

Khoren Shahbazyan

软件开发工程师

具有丰富金融经验的软件工程师。职业生涯始于担任结构化金融软件解决方案的金融分析师,数年之后,顺利将其学识与技能进一步结合,转变成软件工程方面的专家,成为 Microsoft .NetCore 的技术工程师和爱好者。

Aspram Shadyan

软件开发工程师

Karen是一名高级软件工程师,拥有超过11年的交付企业应用解决方案和领导复杂技术项目的经验。 他的专长是web开发,重点是开源领域的全栈开发。Karen不依赖于常用的方法解决问题,而是以特定的角度解决问题。 他以全新的视角看待每一个问题,并为整个技术策略做出相当大的贡献,同时提高了应用程序的性能和可扩展性。

Karen Balabekyan

高级软件开发工程师

喜欢与技术相关的一切事务的软件工程师。目前,他正利用具有最小可实行性的实务和可靠架构模式的尖端技术与工具,开发软件产品并提供服务。

Tigran Avetisyan

软件开发工程师

Hayk是一名软件和移动软件开发工程师,拥有应用数学硕士学位。他总乐于学习前沿科学技术,提升自我。 他也是一名技术爱好者,为了最大限度地减少bugs的可能性,并在多个设备上使具有相同的用户实现体验最大化,并创建web前端和移动应用程序的可重用代码。

Hayk Manukyan

软件开发工程师

Viktorya是一个自我激励和专注力极强的质量保证工程师。负责确定、准备和维护质量测试策略,设计测试框架、开发相关的测试脚本,以确保每个项目达到既定的质量级别。 她精通后端、前端、设计和生产团队的紧密合作。她拥有超过13年以上的行业分析和撰写复杂报告之经验。

Viktorya Karamyan

质量工程师

Anahit是一位质量保证工程师。她致力于构建质量软件,能在快速运营环境中顺利解决问题并具有软件测试领域的相关经验。 她精通软件开发/测试生命周期,包括测试策略准备、测试执行和bugs跟踪。为了能更有效创建测试计划和测试案例,她倾向于从业务需求的分析和软件规范方面着手。

Anahit Ghazaryan

质量工程师

顾问

Alexander Borodich是创新领域和区块链世界的先驱。他是Universa区块链、俄罗斯的首屈一指的人群投资平台VentureClub 和投资者俱乐部的创始人。他是创业的天使投资家,拥有超过70个投资项目的经验。投资的几项关键领域:物联网、云计算、智能城市和SaaS。 Alexander Borodich先生被俄罗斯风险投资公司评为“俄罗斯最活跃的商业天使“,他是营销传播机构Future Action的首席高层管理和管理合伙人,俄罗斯互联网巨头Mail.ru集团的前任营销总监。
Alexander 经常在工业会议上发言。他是高等经济学院营销系的导师和讲师。从2010年至2013年,一直担任莫斯科国立大学经济与数学学院(Moscow State University School of Economics and Mathematics)的院长,在高等院校教授了15年的新经济学。
Alexander Borodich于2007年从斯德哥尔摩经济学院(瑞典)获得MBA学位,毕业于莫斯科电子和数学学院,并获得了国家研究大学高等经济学院(Higher School of Economics,National Research University)的市场营销学位。

Alexander Borodich

Universa区块链创始人

为超过15个ICO进行咨询。他为Strykz、Kinguin、BTU协议、Lendo、AgentNotNeeded、Axens、Telegram等公司效力,帮助吸引了35万名以上的参与者。建立了超过20万个ICO社区。为所有项目共同筹集了超过1亿美元的资产。
在不同平台上拥有超过25万名追随者。 对加密货币和区块链技术具有深刻见解。成功在Telegram(https://t.me/CryptoAnalysisTM)吸引了超过18,000名追随者。他是一位在亚洲市场颇具重要影响力的人物。

王俊豪

区块链布道者

Bogdan Fiedur, ICO顾问,ICOBench专家,精通智能合约开发,全栈开发,是加密货币和区块链监管工作组的顾问委员会成员。
Bogdan是一位有深远影响力的区块链和加密货币专家,投资人,企业家,经常在备受关注的区块链主题活动中发表演讲。目前,还为许多很有发展潜力的创业公司提供咨询业务,他是bitJob的联合创始人,也是Blockchainexperts.io公司的总裁。Bogdan在曼尼托巴大学获计算机科学学士学位,拥有超过20年的IT领域丰富经验,并对当前区块链行业和从概念到执行ICO发展的过程有着相当深刻的见解。

Bogdan Fiedur

全栈开发者,ICO顾问

Ismail Malik自称是“社会工程师与PR增长黑客”,他是有关首次代币发行众筹( ICOcrowd)世界最早刊物的总编辑,在初创公司和创业精神相关技术方面拥有超过20年的经验,也是区块链领域的一流专家之一。事实上,Ismail被rise.global评定为区块链领域最具影响力的100人之一。 Ismail还是区块链实验室的创立者和CEO,他拥有与区块链、支付标记化和数字货币相关的各种专业经验,并且经常在东亚举办的区域链活动中发表演讲。

Ismail Malik

国际业务开发顾问

智能合约

  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. }

商业合作伙伴

代币生成活动

代币预售
25%奖金

1 ZCN = US$0.08

2018年5月21日至8月8日

代币销售

1 ZCN = US$0.1'

2018年9月16日

软上限

$ 3 mln

+

硬上限

$ 25 mln

-

代币分配

  • 64% 代币销售
  • 21% 管理团队
  • 10% 咨询委员会
  • 2% "推介给朋友"的计划
  • 2% 赏金计划
  • 1% 币空投
币空投
1%
赏金计划
2%
"推介给朋友"的计划
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% 公共关系 & 市场营销
  • 14.2% 各项支持
  • 11.4% 法律
  • 5.6% 网络安全
  • 3.1% 行政成本
  • 2.0% 基础架构
  • 1.6% 其他成本
基础架构
2.0%
1.6%
其他成本
行政成本
3.2%
网络安全
5.6%
法律
11.4%
各项支持
14.2%
公共关系 & 市场营销
14.3%
32.2%
产品开发
15.5%
人员成本支出
calculator
文件
白皮书
白皮书精简版
两页纸的简介
令牌紙

FAQ常见疑问

1
Zichain是什么?

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

2
你为什么要建造Zichain?

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

3
项目竞争优势是什么?

目前有许多优秀的项目已经发布了旗下的一些产品,同时其余的项目也已经推出了相应的雏形。 但是他们往往都只关注于投资过程中的一小部分。与竞争对手不同的是,Zichain成功研发出了一套成熟的生态系统,为投资者和运行基金的经理人提供了一个进入金融基础架构的契机。至于在产品和流程优化方面,我们则依靠多年来在传统金融界的成熟经验和最佳实务操作为基石,为加密资产管理行业在未来的发展奠定了基础。

4
有已经发布的产品吗?

我们已经发布了CryptoEYE的公测版本。 公测版包含了有关我们研发的加密货币指数的详细信息以及全面描述代币的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是允许创建一个具有自动化管理功能 (投资政策报表监督、财务管理、风险管理等) 的定制基金平台。该平台以资产管理行业普遍公认的安全标准和透明度为标准,为用户提供所必需的基础架构。其中一个重要的特点是能够使用便捷的交易基础架构来管理基金资产。该基础架构允许通过单一终端在大多数交易场所进行自由交易。

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)的时候,我们计划发行不超过703,125,000枚代币,其中高达450,000,000枚(占总发行量的64%)可在售前和售后阶段出售给投资者。 TGE期间,未售出的所有代币将被销毁。 除售出的代币外,总发行量的21%将属于项目团队(最多147,656,250代币),代币的10%将被转发给顾问委员会(最多70,312,500枚代币),代币的2%将作为奖励 参与赏金计划(最多14062,500枚代币),参加“推介给朋友”活动的奖励将会高出2%(最多14062,500枚代币),并且1%的代币将通过币空投(最多7,031,250枚代币)来分配。

1
如何参与代币销售?

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

2
有KYC要求吗?

您必须通过KYC程序才能接收Zichain代币。 您需提供有效身份证件(如:护照,驾驶执照或其他经由政府签发的身份证件)以及能够确认居住地址的正式文件。 KYC系统可以在TGE开始时访问。 届时,您将收到一封包含详细说明的电子邮件。 您可以在购买代币之前或之后通过KYC程序,但须确保在代币销售结束前的7日内完成。 在KYC验证和购买成功后,代币会即刻发出并传输。

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

代币生成活动 (TGE) 将分三个阶段:内部认购、预售和代币销售。预售于 2018 年 5 月 21 日开始,8 月 31 日结束。要参加预售,您需要添加到白名单中并通过 KYC 程序。代币销售于 9 月 16 日开始,10 月 31 日结束(需要进行 KYC)。参与 TGE 的早期阶段会获得以最终销售价格(0.10 美元)三五折的折扣价格购买代币的机会。在内部认购期间,最多 80,000,000 个代币首先将以 0.035 美元的单价销售,然后以 0.06 美元的单价出售。最低购买金额应为 10,000 美元。在预售阶段,代币将以 0.08 美元的单价出售。在代币销售期间,所有剩余代币将以 0.10 美元的单价出售。

4
最低购买额度是多少?

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

5
你们接受何种付款方式?

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

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

只要您的付款一旦到达我们的加密货币钱包并且系统完成了数个确认后,平台就会自动启动将代币转至您的以太坊钱包。以太坊若出现网络过载,该过程可能需花费数小时之久。