四月(五)
欢迎,亲爱的Nxters和其他追随者!
梦想很重要,它指引我们 – 它激励着我们。梦想让我们看到了世界的模样。但是,把梦想变成现实是一项艰巨的工作,而且还受到问题的困扰。区块链技术是未来,但未来的发展愿景和今天大部分普通用户的真实体验是完全不同的。在ERC-20智能合同中发现了另一个漏洞 – 使整个概念成为“丑事”,并且Nxt和Ardor的智能交易解决方案也不受此漏洞的影响,因为它们是由专家开发人员预先编程的,简单方便使用,并被内置到核心baas软件中。梦想继续存在,不久,一项新技术将帮助我们实现我们的愿景 – 轻量级合同(更多详情)。
上周,Jelurida继续进行创新,因为他们发布了一个简单的轻量级合同,为Ardor Coin Exchange(币种交易)的用户解决了现实世界的问题,发布了4YFN会议的视频,展示了Lior关于区块链技术如何改变世界的梦想和愿景, Triffic团队向我们介绍了即将到来的ICO,创建了一款新的Ardor主题游戏,我们了解到NXT和Ardor客户现在已翻译成超过15种语言,等等。
我们欢迎我们的老读者回来,并热烈欢迎我们的新读者。我们希望读者能够随时掌握区块链进化的最新情况,并希望我们的读者尽可能保持自己和他们的数据安全。成为Nxt / Ardor / Ignis区块链生态系统的专家。所以,请回顾一下并了解上周的所有进展。
社区
- Jelurida:
- 视频 – Jelurida如何成为即用型区块链解决方案的先锋?
- 视频 – Jelurida和Ardor Blockchain即服务,4YFN大奖决赛入围者
- Ardor Bootcamp
- Ardor CryptoRocket
- Ardor Review in Russian
- 中国的NXT论坛
- 交易所
- Cryptaldash – 为列表投票
- 币安变暖了吗?
- ARDR NXT在CoinSwitch.co Exchange上列出
- Bithumb – 让你的声音被听到
- Dontoshi – 您可以为NXT / ARDR / IGNIS投票
- CoinPulse – 您可以为NXT / ARDR / IGNIS投票
- Ardor和Nxt钱包现已翻译成15种语言
聚会
企业在ARDOR
发展
在媒体上
价格演变
- TradingView – ARDR准备移动。400%的利润潜力
- TradingView -的Ardour MASSIVE BULL-RUN
- TradingView – 阿朵交易机会
- TradingView – 阿朵巨大的潜力
- 每周NXT / ARDR / IGNIS价格演变
本周的通讯是由 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充满激情地讲述区块链技术不仅仅是一个过去的趋势 – 它是一种迅速成熟和发展的技术,它将改变政府、企业和个人的互动方式!
-
Ardor Bootcamp
社区成员’efunkem’创建了Ardor on Udemy的第一门入门课程,Udemy是最大的在线课程资源库之一。他关于Ardor的入门级课程旨在便于访问,无需以前的编码知识。指导内容的小时数将允许任何付费的人能够更深入地了解Ardor以及区块链即服务(BaaS)的概念。
在被召唤后,他在Slack上写道:
我上周向Udemy提交了这个消息,甚至不知道他们已经发布了它,我从你们那里发现了!说实话,我最近对Ardor真的很感兴趣,并且在我为自己学习的时候做了这个。所以如果有什么看起来不对的话,让我知道,我会改变它!我想,如果我要通过这项工作来学习它,我不妨将它记录下来并分享!另外,我有优惠券,如果任何人想要一个,所以你可以很便宜的得到它,只是让我知道!
它相当基本,没有先进的Java编码或类似的东西。我试图保持它适合初学者。有几件事很难表现出来,例如,我无法获得实时的混币系统。但我认为这是一个很好的方式,可以与他人分享至少一些奇迹,并传播这个词!
I just signed up for Ardor Bootcamp – an online course about using the #Ardor #blockchain on Udemy. https://t.co/3CgAtWdw39 $ARDR
— Crypto Woman (@TheCryptoWoman) April 25, 2018
-
Ardor CryptoRocket
在我们 最近的Nxter通讯中,我们看到了奥地利网络公司Limesoda发布的HODL [Ardor] COIN游戏。本周,社区成员FJ发布了一款新的Ardor主题游戏:Ardor CryptoRocket。这个小行星克隆认为玩家避免了美元的下跌(这是一个关于Ardor发展潜力的伟大而不是非常微妙的标志))。
保持阿朵,避免美元下跌!
收集Ignis(金色=额外生命)让我们创建一个有趣的游戏频道…
捐款!
ARDOR-HD6Z-ZS9A-JKZ7-D2CBW / NXT-JXVK-7XQC-GNZX-FR32X
-
中国新的NXT论坛
中国的NXT社区已经成为许多ArdorNxt.slack读者和活跃推动者的一部分,成为一个充满活力,专注和热情的推动者。在我们的Nxters全球生态系统中,我们处理不同的语言障碍,因为我们都分享对同一技术的热爱,使用相同的钱包和客户端,并推广相同的区块链。有时这些障碍会导致文化冲突,简单的误解。我们在Nxter上认为,认为最重要的是架设这些语言和文化的桥梁,因为我们坚持沟通,找到共同点,并帮助彼此走向一个更美好的未来–并一起致力于权力下放。这个新的中文NXT论坛为实现这一目标迈进了一大步!
https://t.co/xZDsVsLCVl China's NXT Forum@NxtCommunity @Nxter_org
— 正在输入 (@zhanghuasheng95) April 29, 2018
上个星期,我们看到了由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%,取决于您选择的交易所,所选汇率费用+网络费用。
-
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各阶段的详细信息。
The Triffic ICO is drawing ever closer and you can be one of the first to hear our news and updates by joining us at:https://t.co/6yCndcP6WI
Triffic is the first fully compliant ICO and pending child-chain to be launched on the Ardor platform.#ardor #ignis #nxt #triffic
— Triffic (@trifficworld) April 27, 2018
这里有两个截图,从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_KWrgqQTriffic是首个在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去检查出来,如果你还没有订阅。
在电报, Discord和Reddit上加入Bitswift 。
了解有关Bitswift生态系统的更多信息
-
Janus – 状态更新
Janus团队发布了以下消息,并澄清了关于交换hashpower的概念。
Samu C:
你能解释一下“hashpower exchange”部分吗?
什么将会改变,如何,以及从令牌持有人那里需要什么程序?
Bjorn:
[更多信息]将在发布前不久发布给用户。为了商业目的,许多事情必须改变,但这会带来一些机会; 直接作为一种交易手段进行营销,根据市场感觉它的价值为每个JNS设定价格,并直接向交易者账户支付。这是更好的长期和自动化,这是我们想要为用户随着时间的推移发生。
ARDOR平台上的Janus资产ID:4348103880042995903
Snap! Crackle! News!
Join us in discussion: https://t.co/ubpvA1tHQD #Buyintoprojectswithproducts #UnlockthePotential$KREDS pic.twitter.com/tBa2PIViv0— KrediblePolitics (@KredsPolitics) April 25, 2018
如果您是Janus持有人,以下是如何申领您的Kreds余额。
你想知道更多关于Kreds的信息吗?访问:https://www.kredsblockchain.com/
发展
-
Ardour和Nxt客户端升级
Lior在Twitter上宣布,Nxt和Ardor的官方客户已翻译成15种语言!
The #Ardor and $nxt wallets are now translated into 15 languages including Korean, Japanese, Chinese, Thai, Vietnamese and Indonesian by @ktb_translation. Korean and Thai screenshots attached. pic.twitter.com/6soiUdpPae
— Lior Yaffe (@lioryaffe) April 29, 2018
同样在上周,我们在Slack#开发人员频道中看到,将在Ardor客户端用户界面中对Coin Exchange进行更改。
-
Ethereum智能合约中的另一项利用
ERC-20令牌发现了另一个bug,这次是关于存入某些平台的。这种攻击使许多ERC-20令牌易受恶意价格操纵。Lior Yaffe对此漏洞的技术性质进行了如下评论,并解释了NXT、Ardor智能交易如何不容易受到这种攻击。
#ethereum #erc20 checking if (balance[from] < value + fee) is wrong since (value + fee) can overflow to negative value allowing double spend. https://t.co/XtYctshnT0 in #Ardor we do if (balance[from] < Math.addExact(value, fee)) so numeric overflow will throw exception and stop
— Lior Yaffe (@lioryaffe) April 26, 2018
-
每秒1000次交易?Lior回答EOS
通常情况下,太好的真理是纯粹的谎言和伪装。其他时候,他们只是严重误导。上个星期,EOS声称他们的区块链上每秒处理超过1000笔交易(TPS)。TPS是在人工无菌条件下实现的,节点运行在同一台机器上 – 完全忽略了网络延迟的真实世界。计算机需要时间互相传输,最终,几毫秒的时间就会累积到秒。Lior Yaffe在Twitter上称他们的说法过于夸张。EOS索赔具有误导性。
Lior:
我认为这一点,我认为这终结了数百万TPS的故事……
Problems: nodes run on the same machine so not testing network latency. Sending all transactions to one node so not testing transaction propagation. Blocks are generated by same node? So not testing fork resolution. You only run for few seconds so your blockchain is almost empty.
— Lior Yaffe (@lioryaffe) April 26, 2018
…
It was also meant to showcase the transaction generator plugin for the community to benchmark their own performance tests.
— EOS New York (@eosnewyork) April 26, 2018
-
Walletnxt.com – 第三方电子钱包 – 更新
- 上周,这款第三方一体机Nxt钱包解决方案进行了更新。这款产品绝对看起来不错,但我们还没有审查过。该产品还展示了我们的华人社区和讲英语的社区之间的良好联系。
- 张发布了以下更新日志:
1.修复详细列表以重复加载数据
2.地址导入:转移可以手动输入PassPhrase 3.Fix
添加资产:关闭其他资产删除NXT
4.修改市场单位总量BTC
5.添加行情第二页货币兑换行情
6。修复货币编号500显示为0 -
每周提醒
困扰企业采用区块链的一个重要问题是智能合同可能编程不佳!以太坊不好 – 阿朵好!当然,事实并非如此,这种情况比简单的二元陈述要细致得多。但是,这个过程应该简单,安全,可靠。到目前为止,以太坊在促进智能合同方面做得并不好,参见上述ERC-20漏洞利用。
Jelurida独特的解决方案是轻量级合同。轻量级合同的一个巨大优势是,如果他们未能执行,他们不能锁定您的资金。Lior在下面的论坛交流中解释了这些优点:
交流如下:
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。