Qtum Eclair公测版正式发布,Qtum实现闪电网络功能

2023-10-30 19:30

本文主要是介绍Qtum Eclair公测版正式发布,Qtum实现闪电网络功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

2019年7月2日,Qtum量子链正式发布Qtum Eclair公测版,在Qtum网络上实现闪电网络功能,支持通道创建、实时交易、小额交易等。

 

可扩展性是区块链实现海量交易的关键,Qtum自2018年起就对 c-lightning、qtum-lightning 等功能进行测试。目前比特币网络能达到每秒最多7笔的处理能力,而Qtum的处理能力目前是比特币网络的10倍,但想要实现大规模的快速支付还需要进一步加入闪电网络,因此Qtum发布Qtum Eclair公测版用于解决海量交易带来的处理和存储问题。立即体验Qtum闪电网络,点击阅读原文下载 Qtum Elair客户端 :

https://github.com/qtumproject/lightning-demo

 

 

Qtum Eclair公测版安装教程

 

Eclair是比特币闪电网络的一种实现方式,Qtum在其基础上进一步开发完成Qtum 闪电网络客户端 – Qtum Eclair。Qtum网络上的交易双方可以在链上通过交易脚本创建支付通道,并在链下完成实时、海量的支付交易,通过链接多个通道完成价值转移,无需信任第三方进行资金托管和结算。

 

1. 安装运行Qtum Core钱包

 

Qtum Eclair需要一个同步过、非修剪、支持segwit、zeromq转账以及交易索引的 Qtum Core 钱包。Qtum Eclair 将使用它在 Qtum Core 钱包中找到的任何 QTUM 来支付用户选择打开的任何闪电网络通道。当通道关闭时,通道内的 QTUM余额 将返回到 Qtum Core 钱包中。目前Qtum Eclair兼容p2sh-segwit以及bech32 两种地址模式的钱包。

 

可选择对应的操作系统和架构下载程序包,核心钱包下载地址:https://github.com/qtumproject/qtum/releases

 

创建并编辑配置文件 qtum.conf 为如下内容:

server=1 rpcuser=foo rpcpassword=bar txindex=1addresstype=bech32 zmqpubrawblock=tcp://127.0.0.1:29000 zmqpubrawtx=tcp://127.0.0.1:29000 

 

配置文件中的rpcuserrpcpassword建议修改为更安全的值。

 

  • 在 Linux 下,qtum.conf的路径为 ~/.qtum/qtum.conf

  • 在 Mac OSX 下,qtum.conf的路径为 ~/Library/Application\ Support/Qtum/qtum.conf

  • 在 Windows 下,qtum.conf的路径为 %APPDATA%\Qtum\qtum.conf

 

运行 Qtum Core 钱包,等待区块同步完毕,并发送一定数量的测试币到此钱包中。

 

测试币可在 http://testnet-faucet.qtum.info/ 领取。

 

2. 安装 Qtum Eclair

 

2.1 安装 JDK 和 Maven

Qtum Eclair使用Scala语言进行开发,要运行 Qtum Eclair 首先得要安装 JDK 环境,推荐使用 OpenJDK 11 或以上版本。

 

  • 在 Linux 下,apt-get install default-jdk

  • 在 Mac OSX 下,brew cask install adoptopenjdk

  • 在 Windows 下,下载安装:

    https://jdk.java.net/archive/ 

 

同时还需要安装Maven,下载链接:http://maven.apache.org/download.cgi

 

执行mvn -v, 得到类似如下的返回表明安装成功 。

2.2 编译 Qtum Eclair 

git clone https://github.com/qtumproject/lightning-demo.git 

cd lightning-demo

mvn install -DskipTests

 

 3. 运行 Qtum Eclair

 

创建并编辑配置文件 ~/.qtum-eclair/eclair.conf,内容如下:

 eclair {

  chain = "testnet" // "mainnet" for mainnet, "testnet" for testnet, "regtest" for regtest  

server {

    public-ips = []

    binding-ip = "0.0.0.0"

    port = 9735

  }  

api {

    enabled = false

    binding-ip = "127.0.0.1"

    port = 8080

    password = "qtum-eclair"

    use-old-api = false

  }  

 

watcher-type = "bitcoind" 

  bitcoind {

    host = "localhost"

    rpcport = 13889

     bitdir = ""

     rpcuser = "foo"

    rpcpassword = "bar"

    zmqblock = "tcp://127.0.0.1:29000"

    zmqtx = "tcp://127.0.0.1:29000"

  }  

default-feerates {

    delay-blocks {

      1 = 1200000

      2 = 1000000

      6 =  800000

      12 = 600000

      36 = 500000

      72 = 410000

     }

  } 

  min-feerate = 400

  smooth-feerate-window = 6 // 1 = no smoothing

  node-alias = "qtum-eclair"

  node-color = "49daaa"

  global-features = ""

  local-features = "8a"

  override-features = []

  channel-flags = 1

  dust-limit-satoshis = 72800

  max-htlc-value-in-flight-msat = 500000000000 // 5 QTUM

  htlc-minimum-msat = 1

  max-accepted-htlcs = 30

  reserve-to-funding-ratio = 0.01

  max-reserve-to-funding-ratio = 0.05

  to-remote-delay-blocks = 3600

  max-to-local-delay-blocks = 10080

  mindepth-blocks = 3

  expiry-delta-blocks = 720

  fee-base-msat = 400000

  fee-proportional-millionths = 100

  max-feerate-mismatch = 1.56

  update-fee_min-diff-ratio = 0.1

  revocation-timeout = 20 seconds

  ping-interval = 30 seconds

  ping-timeout = 10 seconds

  ping-disconnect = true

  auto-reconnect = true

  payment-handler = "local"

  payment-request-expiry = 1 hour

  min-funding-satoshis = 1000000  // 0.01 Qtum

  max-payment-attempts = 5

  autoprobe-count = 0

  router {

    randomize-route-selection = true

    channel-exclude-duration = 60 seconds

    broadcast-interval = 60 seconds

    init-timeout = 5 minutes

    path-finding { 

      max-route-length = 6 

      max-cltv =  5040

      fee-threshold-sat = 8400

      max-fee-pct = 0.03

      heuristics-enable = true

      ratio-cltv = 0.15         

      ratio-channel-age = 0.35

      ratio-channel-capacity = 0.5

      } 

  }

 } 

 // do not edit or move this section

 eclair { 

  backup-mailbox {

     mailbox-type = "akka.dispatch.BoundedMailbox"

    mailbox-capacity = 1    

mailbox-push-timeout-time = 0

  }  

backup-dispatcher {

    executor = "thread-pool-executor"

    type = PinnedDispatcher

  } 

}

 

上述配置文件中的public-ips为本机公网IP的数组,同时 rpcuser、rpcpassword 也要做相应的修改。

 

使用命令 java -jar ./eclair-node-gui/target/lightning-capsule.jar启动客户端。

 

 

4. 创建闪电网络通道

 

 在本地的 Qtum Eclair 客户端左下角右键选择 “Copy URI” 即可得到自己的节点地址。

 

 点击左上角的 "Channel" 按钮,选择 “Open Channel”。

 

 在弹出的页面中,填入通道对方的URI,和通道的容量,这里设为了10个 QTUM。点击 “Connect”,创建通道,这时还需要等到6个区块,让交易得到确认,通道才真正创建成功。

 

 

 5. 闪电网络支付

 

通道建好之后就可以使用闪电网络进行微支付操作了。

 

点击左上角的 "Channel" 按钮,选择 “Reveive Payment”, 在弹出的页面中填写收款金额,点击 “Generate” 按钮,得到自己的收款地址。这里我们选择了一个非常小的金额 1 Satoshi,相当于 0.00000001 个QTUM,如此小金额的转账,在不使用闪电网络的情况下是难以想象的。

  点击左上角的 "Channel" 按钮,选择 “Send Payment”, 在弹出的页面中填写对方的闪电网络收币地址和金额,点击“Send”按钮,即可向对方转账。

  转账完成后,双方的金额瞬间发生了变化,因为这是纯链下的交易,无需等待区块确认,也无需支付手续费。

 

6. 关闭通道进行结算

 

 

当通道不再需要的时候,可以关闭通道。

  点击 “Close” 按钮关闭通道。

 

关闭后,通道内的 QTUM 余额就会返回各自的 Qtum Core 钱包内。

 

7. 使用 Docker 在服务器上快速部署 Qtum Eclair 服务

 

 

以上是普通用户的图形界面客户端使用教程,如果你想在服务器上部署 Qtum 闪电网络节点,可参考本小节进行快速部署。

 

  • sudo docker pull qtum/qtum:latest 

  • mkdir /opt/qtum

  • vim /opt/qtum/qtum.conf, 并输入如下配置信息:

  • server=1 rpcallowip=172.17.0.0/24 rpcbind=0.0.0.0 rpcuser=foo rpcpassword=bar txindex=1 addresstype=bech32 zmqpubrawblock=tcp://0.0.0.0:29000 zmqpubrawtx=tcp://0.0.0.0:29000

 

sudo docker run -tid --rm -v "/opt/qtum:/root/.qtum" --name qtum qtum/qtum:latest qtumd --testnet

 

  • 通过 sudo docker exec -ti qtum qtum-cli --testnet getblockchaininfo, 查看区块同步进度,等待区块完全同步

  • git clone https://github.com/qtumproject/lightning-demo.git

  • cd lightning-demo

  • mkdir /opt/qtum-eclair

  • vim /opt/qtum-eclair/eclair.conf, 并输入在第三节中的配置信息, 替换 bitcoind 下的 localhost 和 127.0.0.1 为qtumhost

  • sudo docker build -t qtum-eclair-img .

  • sudo docker run -ti --rm --name qtum-eclair -v "/opt/qtum-eclair:/data" -p 9735:9735 --link qtum:qtumhost -e "JAVA_OPTS=-Declair.printToConsole" qtum-eclair-img

     

 

8. Qtum Testnet 闪电网络公开节点

 

  • URI:030fa5900d9ddb1fb0641220b50e695c7e4a791dda682c9d70e1c20278d2f84a98@39.104.93.51:13415

     

  • URI:02b88d5a2b3f3e5aba35a5fb4497294cf1cf15bb60532e788eeff756dc53633e7c@39.104.100.220:13435

 

你可以与这些节点建立闪电网络通道进行微支付测试。

 

详细使用教程请参见:https://github.com/qtumproject/documents/blob/master/zh/Qtum-Eclair-Guide.md

 

Qtum闪电网络体验 即日开放

 

 Qtum Eclair公测版将进一步提升实时交易、小额支付的用户体验,方便用户在更多生活场景中使用QTUM支付。例如在酒吧买一瓶啤酒、在咖啡店买一杯咖啡······Qtum Eclair让你可以直接在区块链网络上实现小额实时支付,让你的交易体验更加便捷。

 

未来,随着数字支付市场的迅速增长,支付市场将超过100亿美元。而“新零售”市场的崛起,小额碎片化的支付成为主流需求,C端市场也将越来越向线下转移,通过Qtum Eclair建立大量的闪电网络通道,实现免手续费的实时海量交易,将成为实现加密货币主流应用的基础设施与数字化支付市场的重要技术之一。

这篇关于Qtum Eclair公测版正式发布,Qtum实现闪电网络功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/310095

相关文章

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P