NXTER.ORG

Nxter 新闻 – 2018年4月(五): 你也许会说我是个梦想家,但我不是唯一的一个

四月(五)

欢迎,亲爱的Nxters和其他追随者!

梦想很重要,它指引我们 – 它激励着我们。梦想让我们看到了世界的模样但是,把梦想变成现实是一项艰巨的工作,而且还受到问题的困扰。区块链技术是未来,但未来的发展愿景和今天大部分普通用户的真实体验是完全不同的。在ERC-20智能合同中发现了另一个漏洞 – 使整个概念成为“丑事”,并且Nxt和Ardor的智能交易解决方案也不受此漏洞的影响,因为它们是由专家开发人员预先编程的,简单方便使用,并被内置到核心baas软件中。梦想继续存在,不久,一项新技术将帮助我们实现我们的愿景 – 轻量级合同(更多详情)。

上周,Jelurida继续进行创新,因为他们发布了一个简单的轻量级合同,为Ardor Coin Exchange(币种交易)的用户解决了现实世界的问题,发布了4YFN会议的视频,展示了Lior关于区块链技术如何改变世界的梦想和愿景, Triffic团队向我们介绍了即将到来的ICO,创建了一款新的Ardor主题游戏,我们了解到NXT和Ardor客户现在已翻译成超过15种语言,等等。

我们欢迎我们的老读者回来,并热烈欢迎我们的新读者。我们希望读者能够随时掌握区块链进化的最新情况,并希望我们的读者尽可能保持自己和他们的数据安全。成为Nxt / Ardor / Ignis区块链生态系统的专家。所以,请回顾一下并了解上周的所有进展。

 

社区

聚会

企业在ARDOR

发展

在媒体上

价格演变

本周的通讯是由 apenzl, Jose, James, 和 rubenbc一起编写。翻译:fz1128。


社区

  • Jelurida:

视频 – Jelurida如何成为先锋? 

Veronica 撰写了关于Jelurida如何成为区块链领域的思想领袖,因为他们继续开拓新的区块链解决方案,以加快全球企业的企业部署和开发。

嘿大家!

我们可以宣称的最重要的开拓性成就之一是Nxt中证明的证明证明算法,并传递给了Ardor。私有和公共区块链的速度,可扩展性和环保效益非常强大。另外,我们的Blockchain解决方案使用Java构建的事实使得更多的开发人员能够比任何其他Blockchain语言访问平台,并且能够立即开始开发。

我们在Jelurida联合创始人Lior Yaffe的新系列中涉及的众多Q&A主题之一:

(返回索引)

 

 视频 – Jelurida和BaaS,入围4YFN大奖

从今年早些时候开始,Jelurida在4YFN的总决赛演讲录像正在发布。其中Lior充满激情地讲述区块链技术不仅仅是一个过去的趋势 – 它是一种迅速成熟和发展的技术,它将改变政府、企业和个人的互动方式!

营销成果:2018年第一季度| Jelurida

(返回索引)

  • Ardor Bootcamp

社区成员’efunkem’创建了Ardor on Udemy的第一门入门课程,Udemy是最大的在线课程资源库之一。他关于Ardor的入门级课程旨在便于访问,无需以前的编码知识。指导内容的小时数将允许任何付费的人能够更深入地了解Ardor以及区块链即服务(BaaS)的概念。

在被召唤后,他在Slack上写道:

我上周向Udemy提交了这个消息,甚至不知道他们已经发布了它,我从你们那里发现了!说实话,我最近对Ardor真的很感兴趣,并且在我为自己学习的时候做了这个。所以如果有什么看起来不对的话,让我知道,我会改变它!我想,如果我要通过这项工作来学习它,我不妨将它记录下来并分享!另外,我有优惠券,如果任何人想要一个,所以你可以很便宜的得到它,只是让我知道!

它相当基本,没有先进的Java编码或类似的东西。我试图保持它适合初学者。有几件事很难表现出来,例如,我无法获得实时的混币系统。但我认为这是一个很好的方式,可以与他人分享至少一些奇迹,并传播这个词

更多信息

(返回索引)

  • Ardor CryptoRocket

在我们  最近的Nxter通讯中,我们看到了奥地利网络公司Limesoda发布的HODL [Ardor] COIN游戏。本周,社区成员FJ发布了一款新的Ardor主题游戏:Ardor CryptoRocket。这个小行星克隆认为玩家避免了美元的下跌(这是一个关于Ardor发展潜力的伟大而不是非常微妙的标志))。

保持阿朵,避免美元下跌!
收集Ignis(金色=额外生命)

http://appsgeyser.com/6983825

让我们创建一个有趣的游戏频道…

捐款!
ARDOR-HD6Z-ZS9A-JKZ7-D2CBW / NXT-JXVK-7XQC-GNZX-FR32X

(返回索引)

 

  • 中国新的NXT论坛

中国的NXT社区已经成为许多ArdorNxt.slack读者和活跃推动者的一部分,成为一个充满活力,专注和热情的推动者。在我们的Nxters全球生态系统中,我们处理不同的语言障碍,因为我们都分享对同一技术的热爱,使用相同的钱包和客户端,并推广相同的区块链。有时这些障碍会导致文化冲突,简单的误解。我们在Nxter上认为,认为最重要的是架设这些语言和文化的桥梁,因为我们坚持沟通,找到共同点,并帮助彼此走向一个更美好的未来–并一起致力于权力下放。这个新的中文NXT论坛为实现这一目标迈进了一大步!

上个星期,我们看到了由Zang开发的中国论坛,它是WalletNxt应用程序的开发者。

此外,Nxter重新推出了中文版的Nxter新闻通讯,fz1128—Feng,担任编辑和翻译。

如果您想推广Nxt,Ardor,儿童连锁或资产相关项目,请用中文发表文章或开发博客,请保持联系。

(返回索引)

  • 交易所

新的一周带来了新的挑战和新的加密交易所,我们编制了一个简单易懂的最新相关变化清单。展示对ARDR / IGNIS和NXT的支持的机会依然存在:

http://bit.ly/Ignis-Ardor-Exchange-Progress

 

CryptalDash

CryptalDash出现了新的上市机会

 

 

 

Jelurida的交换关系经理Adedayo Adebajo写道:

我们已申请在CryptalDash上列出我们的代币,现在是社区欢迎批准的时候了!让我们一起努力做到这一点。我们有大约52个小时 – 直到5月1日 – 并且允许和鼓励不止一次的投票。

以下是投票给Ardour和Ignis的链接。

https://www.cryptaldash.com/new-coin-listing?search=Ignis

https://www.cryptaldash.com/new-coin-listing?search=ARDOR

NXT的链接在获得批准后即可使用。

币安变暖了吗?

https://info.binance.com/en/currencies/ardor

上述页面上周出现在币安交易的网站上。正如大多数Nxters所知道的那样,我们有一个ARDR清单正在对Binance进行评估。

Bithumb

让你的声音被听到:

https://docs.google.com/forms/d/e/1FAIpQLSdzAZF-CnfquN4MomAOzoWb_GZEUl9PZmtLQi18Cfg4sZPJXg/viewform

https://twitter.com/BithumbOfficial/status/974560572451598336

Dontoshi

您可以为NXT / ARDR / IGNIS投票:

https://dontoshi.featureupvote.com/suggestions/6975/nxtdecentralizing-the-future

https://dontoshi.featureupvote.com/suggestions/6945/ardor-platform-ardr

https://dontoshi.featureupvote.com/suggestions/7053/ignis-coin

 

CoinPulse

您也可以在这里投票选择NXT / ARDR / IGNIS:

https://request.coinpulse.io/suggestions/7170/nxt-coin-decentralizing-the-future

https://request.coinpulse.io/suggestions/7171/ardor-platform-ardr

https://request.coinpulse.io/suggestions/7172/ignis-coin

 

ARDR NXT已经在CoinSwitch.co Exchange上市

他们写:

我们很高兴地通知社区,我们在CoinSwitch.co上添加了ARDR。

我们是一币币交易所,用户可以在我们的合作伙伴交易所比较LRC和300多个其他硬币的价格,并以最优惠的价格购买,而无需在合作伙伴交易所创建账户。合作伙伴交流包括KuCoin,Bittrex,Cryptopia,Changelly,Shapeshift,Changer等。

费用为0%至0.75%,取决于您选择的交易所,所选汇率费用+网络费用。

https://coinswitch.co/

(返回索引)

 

  • Ardor Review in Russian

Ardor平台的这个简短的俄文评论很好。在这里您可以查看更多关于Ardor的照片。ЧестныйобзорArdor

(返回索引)

 

聚会

  • Jelurida将于6月11日至15日在汉诺威协助CEBIT Festival 2018

Veronica写道:

对于社区里那些渴望我们有更多曝光的人来说,我们有一些好消息。在目前欧洲的所有创业平台中,没有一家的规模与CEBIT的SCALE11一样快速增长或国际化,Jelurida很高兴地宣布我们将在舞台上并在会议的Blockchain区域设立一个展位。这是令人激动的曝光,我们很自豪地代表Ardor,Nxt和Ignis参加这个活动!https://buff.ly/2EiE77e

(返回索引)

 

 

  • 数字货币状态 – 洛杉矶| CA,5月5日

Elizabeth – ANG正式赞助“数字货币国家”。我们将有一个摊位。我需要选择一个标志来宣传,所以我选择了Ardor。检查网站上的标志。展位还将提供关于NXT和IGNIS的信息。该计划中将有一个完整的页面广告。

http://stateofdigitalmoney.com/

(返回索引)

 

  • 马德里聚会:BLOCKCHAIN – SMART CONTRACTS,5月7日

校园马德里商业会议区块链的第二版将向您介绍智能合同的概念。此外,Ardor测试网将被演示。请务必携带自己的笔记本电脑,下载客户端,并获得IGNIS和ARDR的实践经验。

加入聚会

第一版商业马德里聚会区块链被记录下来,准备充分的会议对于每个对Nxt,Ardor,Ignis,其他子链,BaaS,Jelurida和商业采用感兴趣的人都是必不可少的。我们爱的科技:

(返回索引)

企业在ARDOR

 

  •  Triffic – 状态更新

Triffic团队通过关于即将到来的ICO的消息向社区进行了更新,并强调了它与政府当局的合规性,这是将产品与诈骗ICO区分开来所需的必要步骤。以下是有关ICO各阶段的详细信息。

这里有两个截图,从95%完成的GPS令牌购买站点和仪表板与内置的附属系统和来自Identitymind的反洗钱系统(KYC)。

在Triffic ICO之后,我们的计划是开源以帮助其他人使用Ardor发布ICO。

James Malach 写道:

我们在几个阶段总共销售100,000,000个GPS令牌。

主ICO的价格是每张GPS令牌0.20美元,但我们也有两周的预售期,第二周的价格为0.12美元和0.16美元。

我们的机构投资价格为每个GPS令牌0.08美元,可用于花费超过25,000美元的认证投资者。

Triffic将在全球范围内运作。根据你居住的国家,一个合格投资者(美国例子)是一个价值超过100万美元的人,或者一个年收入超过20万美元的人。它有一些税收含义。其他国家将有不同的规则。

Coinerz集团在新加坡注册成立,我们在清迈有一半的时间,在新加坡有一半的时间。

Triffic 电报群在
https://t.me/joinchat/IC6UHRD3tdFRyou_KWrgqQ

Triffic是首个在Ardor平台上推出的完全符合标准的ICO和即将上线的子链。

(返回索引)

 

  • Bitswift子链更新

2018年1月1日,Bitswift在Ardor与Genesis Block建立了一个儿童连锁店,然而,一些Ardour用户仍然不完全明白Bitswift的含义。接下来是对一个常见问题的详细回应。

LtBrix评论道:

我的意思不是粗鲁,但Bitswift正在开发4年。第一步何时完成?

Bitswift的Paul Busch写道:

是的,在那些年的3年里,我们在旧的POS科技上运行,我们放弃了支持Ardor。

我们需要一种我们实际可以带给客户的产品,让他们使用它,而不用担心它。最后我们现在有这个。我对Ardor感到有信心,我们的子链/代币是安全可信的。

所以现在我们可以开始在这个架构之上构建应用程序……这正是我们所处的位置。加载老客户端,你会明白我的意思。
苹果花了20年才终于起飞……给我们一些时间。

Bitswift的开局令人不安,主要开发组在开发的第一年内基本消失。留给我0资金继续,Bitswift被称为“泵和转储”(一种证券欺诈)的坏名声。所以你看到的基本上都是现有的东西,而且大部分都是我……考虑到所有的背后因素,花了一段时间才达到这一点。我很高兴我们现在在这里。

您可以用这种方式来看待这个问题,4年来,我们对Bitswift代币的估值一直在上升,扩展了社区,并建立了强大的基础和合作伙伴关系以继续前进。即使您没有看到最终产品,所有这些都很重要。
基本上4年来,我一直在关注如何让人们接触这项技术。我没有直接关注技术本身(如增加协议,提高块速度,替代共识机制,扩展协议功能)。我的首要任务是设立安全基金会,并提供专业形象,包括在Bitswift背后推出可行和盈利的公司,以便与现实接轨。

所以当你提出“做什么”的问题时,不要看技术,看看社交,社区,合作伙伴的互动和业务发展,那些事情实际上比我认为的技术更重要。这就是我对你们问题的长期回答

LtBrix:

谢谢。清楚的是,我对你的工作以及你发布的所有内容感到印象深刻,我喜欢你开发Bitswift的方法。最重要的是,我相信你的意思是你说的一切,而且你是诚实的。证明是每个人都可以看到的,因为你对每一个bitcointalk的开发步骤都是透明的。我当然不认为这是一个PnD方案,这就是为什么我持有我的代币。我祝愿你在进一步的发展中一切顺利。

Paul Busch:

谢谢。Bitcointalk可能不是最好的信息来源,因为从我们刚开始的地方有很多旧的和不相关的信息。我们把客户业务发送到bitcointalk是没有好处的。许多大量的广告,只是一般bitcointalk的东西。
在我们前进的过程中,我一直试图保持更新和维护相关信息。

随时尽可能为项目做出贡献。我认为Bitswift缺乏的一点是,人们选择做出贡献。你不必要求做事情。只要做贡献。如果它们为生态系统增加价值,您会看到这些反映在令牌中。这主要是我经营的方式。

 

 

bitswiftbro:

https://www.reddit.com/r/Bitswift/

讨论Ardor上的子链Bitswift。
我们的Reddit收到了一个脸谱,plz去检查出来,如果你还没有订阅。

电报,   DiscordReddit上加入Bitswift

了解有关Bitswift生态系统的更多信息

(返回索引)

 

  • Janus – 状态更新

Janus团队发布了以下消息,并澄清了关于交换hashpower的概念。

Janus上周宣布

Samu C:

你能解释一下“hashpower exchange”部分吗?
什么将会改变,如何,以及从令牌持有人那里需要什么程序?

Bjorn:

[更多信息]将在发布前不久发布给用户。为了商业目的,许多事情必须改变,但这会带来一些机会; 直接作为一种交易手段进行营销,根据市场感觉它的价值为每个JNS设定价格,并直接向交易者账户支付。这是更好的长期和自动化,这是我们想要为用户随着时间的推移发生。

按照电报Twitter上的Janus

ARDOR平台上的Janus资产ID:4348103880042995903

如果您是Janus持有人,以下是如何申领您的Kreds余额

你想知道更多关于Kreds的信息吗?访问:https//www.kredsblockchain.com/

(返回索引)

 

发展

 

  • Ardour和Nxt客户端升级

Lior在Twitter上宣布,Nxt和Ardor的官方客户已翻译成15种语言!

同样在上周,我们在Slack#开发人员频道中看到,将在Ardor客户端用户界面中对Coin Exchange进行更改。

(返回索引)

 

  • Ethereum智能合约中的另一项利用

ERC-20令牌发现了另一个bug,这次是关于存入某些平台的。这种攻击使许多ERC-20令牌易受恶意价格操纵。Lior Yaffe对此漏洞的技术性质进行了如下评论,并解释了NXT、Ardor智能交易如何不容易受到这种攻击。

资源

(返回索引)

  • 每秒1000次交易?Lior回答EOS

通常情况下,太好的真理是纯粹的谎言和伪装。其他时候,他们只是严重误导。上个星期,EOS声称他们的区块链上每秒处理超过1000笔交易(TPS)。TPS是在人工无菌条件下实现的,节点运行在同一台机器上 – 完全忽略了网络延迟的真实世界。计算机需要时间互相传输,最终,几毫秒的时间就会累积到秒Lior Yaffe在Twitter上称他们的说法过于夸张。EOS索赔具有误导性。

Lior:

我认为这一点,我认为这终结了数百万TPS的故事……

(返回索引)

 

  • Walletnxt.com – 第三方电子钱包 – 更新

  • 上周,这款第三方一体机Nxt钱包解决方案进行了更新。这款产品绝对看起来不错,但我们还没有审查过。该产品还展示了我们的华人社区和讲英语的社区之间的良好联系。

  • 张发布了以下更新日志:

    1.修复详细列表以重复加载数据
    2.地址导入:转移可以手动输入PassPhrase 3.Fix
    添加资产:关闭其他资产删除NXT
    4.修改市场单位总量BTC
    5.添加行情第二页货币兑换行情
    6。修复货币编号500显示为0

     

    资源

    更多信息

    (返回索引)

  • 每周提醒

困扰企业采用区块链的一个重要问题是智能合同可能编程不佳!以太坊不好 – 阿朵好!当然,事实并非如此,这种情况比简单的二元陈述要细致得多。但是,这个过程应该简单,安全,可靠。到目前为止,以太坊在促进智能合同方面做得并不好,参见上述ERC-20漏洞利用。

Jelurida独特的解决方案是轻量级合同。轻量级合同的一个巨大优势是,如果他们未能执行,他们不能锁定您的资金。Lior在下面的论坛交流中解释了这些优点:

交流如下:

loganhttps://bitcoinexchangeguide.com/what-is-ethereum-improvement-proposal-eip-999-for-parity-wallet-recovery/

riker – 这可能是历史上最昂贵的bug,他们将账户特定的合约移到了普通合约库,并忘记删除kill函数。实际上,我遇到了一个常见的错误,那就是当有人从C语音中将代码移植到Java的代码中时,我遇到了与大型机集成产品类似的错误,其中Java被用作服务器,并忘记删除System.exit()在特定条件下会话被终止时调用。这个System.exit()是在客户现场负载测试期间在服务器关机的最坏时刻触发的,但并未接近锁定2.6亿美元

logan – 现在是260Mio美元的问题(对于像我这样的编码器noob):像Ardor Lightweight Contract这样的事情可以发生吗?

thomasveil – 我向你保证,一旦ardor被大量使用,bug就会弹出。但只有一部分合同本身在链上……大多数定制(和严重审查的东西)将是继续可以修复的脚本。

riker – 轻量级合同无法锁定资金,因为合约帐户是正常帐户,所以持有密码的任何人都可以在合约未能运行时释放资金。

可能还有其他问题,例如像黑客这样的DAO,如果合同中存在一个错误,那么资金被用于非预期目的可能会发生,这使得黑客可能欺骗合同将资金转入他们的账户。

(返回索引)

在媒体上

  • Lior Yaffe中型Ardor轻量级合同用例

Lior强调了一个很好的例子,说明如何简单Ardor轻量级合同在解决实际问题的同时实施。首次使用Ardor的人非常讨厌的一点是,为了使用Ardor UI的硬币交换功能,您需要在您的账户中拥有ARDR来支付交易,以将IGNIS或AEUR转换为ARDR!这是一个令人沮丧的障碍,但下面的轻量级合同可以简单地补救。

合同源代码:

package nxt.addons.contracts;
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">import nxt.NxtException;
 import nxt.addons.AbstractContractContext; 
import nxt.addons.BlockContext; 
import nxt.addons.RequestContext;
 import nxt.addons.TransactionContext;
 import nxt.blockchain.Chain; 
import nxt.blockchain.FxtChain; 
import nxt.util.Logger; import org.json.simple.JSONValue; 
import org.json.simple.parser.ParseException;</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
import java.math.BigInteger;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
import java.util.List;</span></span>

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> /** 
* Sample contract which receives amount in child chain and returns amount in parent chain according to the coin exchange order book. 
* Allows obtaining Ardor without first having Ardor in the account.
 **/ 
public class ChildToParentExchange extends AbstractContract {
 
 @Override</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
    public void processBlock(BlockContext context){</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        //阅读合约配置</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        int maxAmountFXT;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        JO contractConfigParams = context.getContractConfigParams(this.getClass()。getCanonicalName());</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        if(contractConfigParams!= null && contractConfigParams.isExist(“maxAmount”)){</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            maxAmountFXT = contractConfigParams.getInt(“maxAmount”);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        } else {</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            maxAmountFXT = 50;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        }</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        //寻找6个区块以前的付款</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        int height = context.getBlockJson()。getInt(“height”) -  6;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        if(height <2){</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            return;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        }</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        //读取块中的交易</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        JO params = new JO();</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        params.put(“chain”,2);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        params.put(“height”,height); </span><span style="vertical-align: inherit;">//正是这个高度</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        params.put(“type”,0);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        params.put(“subtype”,0);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        params.put(“recipient”,context.getConfig()。get(“account”));</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        JO getExecutedTransactionsResponse = context.sendRequest(“getExecutedTransactions”,params);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
       List transactions = getExecutedTransactionsResponse.getArray(“transactions”)。objects();</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        if(transactions.size()== 0){</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
         return;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        }</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        //迭代交易并付款</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        for(JO transaction:transactions){</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            long amountNQT = transaction.getLong(“amountNQT”);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            Chain chain = Chain.getChain(transaction.getInt(“chain”));</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            CoinExchangeOrders coinExchangeOrders =new CoinExchangeOrders((context).invoke(chain,amountNQT,maxAmountFXT);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            long returnAmount = coinExchangeOrders.getReturnAmount();</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            Chain returnChain = coinExchangeOrders.getReturnChain();</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            //发送付款并减去交易费用</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            JO input = new JO();</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            input.put(“recipient”,Long.parseUnsignedLong(transaction.getString(“sender”)));</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            input.put(“amountNQT”,returnAmount);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            long feeNQT = context.getTransactionFee(“sendMoney”,returnChain,input);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            if(feeNQT> = 0){</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                input.put(“feeNQT”,feeNQT);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                input.put(“amountNQT”,returnAmount  -  feeNQT);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            } else {</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                context.setErrorResponse(10003,"%s: cannot calculate fee", getClass().getName()) ;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                 return;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            }</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            context.createTransaction(“sendMoney”,returnChain,input);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        }</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
    }</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
 public static class CoinExchangeOrders {
     private AbstractContractContext context;
     private long returnAmount; 
    private Chain returnChain</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">;</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        public CoinExchangeOrders(AbstractContractContext context){</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            this.context = context;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        }</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        public long getReturnAmount(){</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            return returnAmount;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        }</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
      public Chain getReturnChain() { 
       return returnChain</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        }</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
      /**
 * Given amount and child chain look at existing coin exchange orders to calculate amount to return in Ardor 
* @param chain the child chain * @param amount received amount
 * @param maxAmountFXT do not return more than this amount (this contract is designed to handle small amounts)
 * @return object holding the returned amount and chain 
*/</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
       public CoinExchangeOrders invoke(Chain chain, long amount, long maxAmountFXT) {</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            //如果有人向Ardor发送此合约,请将其发回,以免金额被锁定</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            returnAmount = 0;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            if (chain == FxtChain.FXT) { 
            returnAmount = amount; returnChain = FxtChain.FXT;
           Logger.logInfoMessage("Do not pay this contract in Ardor, sending back " + returnAmount); 
           return this;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            }</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            //使用getCoinExchangeOrders API加载硬币兑换订单</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            JO params = new JO();</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            params.put(“chain”,FxtChain.FXT.getId());</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            params.put(“exchange”,chain.getId());</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            JO coinExchangeOrders = context.sendRequest(“getCoinExchangeOrders”,params);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            JA订单= coinExchangeOrders.getArray(“orders”);</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            //如果没有订单,则返回原始付款</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            if(orders == null || orders.size()== 0){</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                returnAmount = amount;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                returnChain = chain;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                Logger.logInfoMessage(String.format("There are no buy orders for the child chain, sending back %d %s", returnAmount, returnChain)); 
                return this</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            }</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            //根据硬币兑换市场汇率计算阿朵金额</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            returnChain = FxtChain.FXT;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            long childTotal = 0;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            for(JO order:orders.objects()){</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                long childAmount = order.getLong(“quantityQNT”);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                long parentAmount = order.getLong(“exchangeQNT”);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                long parentPerChildRate = order.getLong(“bidNQTPerCoin”);</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                childTotal + = childAmount;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                if(childTotal <amount){</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                    returnAmount + = parentAmount;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                     continue;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                }</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                returnAmount + = BigInteger.valueOf(amount  - (childTotal  -  childAmount))。</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                        multiply(BigInteger.valueOf(parentPerChildRate)).</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                        divide(BigInteger.valueOf(FxtChain.FXT.ONE_COIN).longValue();</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
                 if (returnAmount <= FxtChain.FXT.ONE_COIN) { returnAmount = amount; returnChain = chain; } break; } // If the Ardor amount is larger than the max amount, return the payment without performing the swap long maxAmountFQT = maxAmountFXT * FxtChain.FXT.ONE_COIN; if (returnAmount >= maxAmountFQT && returnChain == FxtChain.FXT) { 
                 Logger.logInfoMessage(String.format("Ardor return amount %d bigger than max amount %d sending back %d in chain %s", 
                 returnAmount, maxAmountFQT, amount, chain)); 
                 returnAmount = amount;
                returnChain = chain; return this;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            }</span></span>
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            //返回Ardor支付的金额</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            Logger.logInfoMessage(String.format("amount paid %d in %s amount returned %d in %s", amount, chain, returnAmount, returnChain));</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
            return this;</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
        }</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
    }</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">
}</span></span>

要使用此合同,请将5到50 IGNIS发送到合同账户ARDOR-VEUQ-JZN2-22T9-4QKWV,等待6次确认,并且您应该看到从合同账户返回到您账户的ARDR付款。

这是Ardor轻量级合同如何实施简单并能解决实际问题的一个很好的例子。

资源

 

  • Tingtau – Jelurida的故事:NXT,Ardor,Ignis

这篇文章简要介绍了Jelurida及其主要产品的复杂历史。这是一个很长时间以来读者心知肚明的故事,新人可以从其他来源更好地学习,但他们绘制的图片是足够有效。

他们写:

结论
BCNext创建了Nxt,一家私人公司Jelurida,维护Nxt并创建了Ardor然后是Ignis,Nxt一个区块链平台的扩展版本。它在过去几年一直在区块链领域工作。随着时间的推移,在现有的代码或应用程序中进行了微小的更改,以改进现有代码并创建更好的区块链工具包。

随着更早的加密货币经历恶意攻击,导致巨大的经济损失。因此,Jelurida在市场需求方面是一个非常需要的公司。它使用最先进的技术来创建新的区块链应用程序和代码。

即使Jelurida也向NXT代币持有者提供了保证,他们在Ignis硬币快照后不必担心,因为代币持有者将获得新硬币的10%。Jelurida已经处理了与区块链相关的各个方面,并试图消除所有阻碍安全透明区块链平台发展的障碍。

资源

(返回索引)

 

  • Chipin – 10个alcoin币和平台在2018年2月持有你

我们在2月份的文章中找到了答案,因为它推荐Ardor作为10个最佳创新项目之一。毅力和耐心是企业和人们都拥有的重要特征。这篇文章是对ARDR的一年看好,他们的建议几个月后似乎是明智的 – 一个很好的阅读。

下面列出了10个创新区块链项目,让您放心,并让您度过2月份。知道一个基础健全的项目和毅力胜过短期收益和欣喜,一个有缺陷和无用的项目,轻松得多。

为什么你应该留意它

Ardor的区块链即服务模式以及Java(世界上使用最广泛的编程语言之一)的使用将成为促进区块链生态系统更容易渗透商业活动的催化剂,以及ICO孵化。值得注意的是,Ardor已经推出了第一个子链Ignis,提供P2P资产交换,货币系统和市场。此外,今年还会增加子链,最终导致更多真实的使用案例,并与ARK,LISK和STRATIS等其他BaaS项目脱钩。

资源

(返回索引)

价格演变

  • TradingView – ARDR准备移动。InTheBellyOfCharonsWhale提供400%的盈利潜力

资源

(返回索引)

 

  • TradingView – 由kperMan的Ardor MASSIVE BULL-RUN

资源

(返回索引)

 

  • TradingView – Ardor交易机会由  weslad

资源

(返回索引)

 

  • TradingView – Ardor巨大的潜力por CryptoBearish  

资源

(返回索引)

 

  • 每周NXT / ARDR / IGNIS价格演变

下图显示过去一周Bittrex的NXT /比特币交易价格

下图显示了过去一周Bittrex的ARDR /比特币交易价格

下图显示过去几天Bittrex的IGNIS / Bitcoin交易价格

(返回索引)

这是所有这一周,Nxters。Twitter电报中关注我们,了解一周中发生的重要突发更新。区块链世界每周都在盛开和成熟,天空甚至没有接近这项伟大技术潜力的极限。继续梦想着你想看到的未来,然后做出改变。下周再见!我们将随时向您介绍分布式账本技术日益增长的世界。

帮助Nxter.org发展壮大,并通过奖励我们的辛勤努力,帮助我们继续为不断增长的区块链空间提供出色且专注的报道。捐款地址:NXT-TK9J-MEKH-MUP9-HFCH2 / ARDOR-TK9J-MEKH-MUP9-HFCH2。

(返回索引)

View this in: English Español