当前位置: 首页 > 软件库 > Web3 > 开源货币/比特币 >

qtum

Qtum Core Wallet
授权协议 MIT License
开发语言 C/C++
所属分类 Web3、 开源货币/比特币
软件类型 开源软件
地区 不详
投 递 者 奚晟
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

What is Qtum?

Qtum is a decentralized blockchain project built on Bitcoin's UTXO model, with support for Ethereum Virtual Machine based smart contracts, and secured by a proof of stake consensus model. It achieves this through the revolutionary Account Abstraction Layer which allows the EVM to communicate with Qtum's Bitcoin-like UTXO blockchain. For more general information about Qtum as well as links to join our community, go to https://qtum.org

Welcome to the Qtum Ignition Main Network. This is the main network where the tokens hold value and should be guarded very carefully. If you are testing the network, or developing unstable software on Qtum, we highly recommend using either testnet or regtest mode.

The major features of the Qtum network include:

  1. Compatibility with the Ethereum Virtual Machine, which allows for compatibility with most existing Solidity based smart contracts. No special solidity compiler is required to deploy your smart contract to Qtum.
  2. A Proof of Stake consensus system which is optimized for Qtum's contract model. Any user can stake and help to secure the network. There is no voting, master nodes, or minimum amount required. There have been transactions as small as 2 Qtum that have created blocks in the past. Staking from smart contracts is under development.
  3. The Decentralized Governance Protocol is completely implemented and functional, which allows certain network parameters to be modified without a fork or other network disruption. This currently controls parameters like block size, gas prices, etc.
  4. Uses the UTXO transaction model and is compatible with Bitcoin, allowing for existing tooling and workflows to be used with Qtum. This allows for the infamous SPV protocol to be used which is ideal for light wallets on mobile phones and IoT devices.

Note: Qtum Core is considered beta software. We make no warranties or guarantees of its security or stability.

Qtum Documentation and Usage Resources

These are some resources that might be helpful in understanding Qtum.

Basic usage resources:

Development resources:

General Info about Qtum:

Developer's Tools

What is Qtum Core?

Qtum Core is our primary mainnet wallet. It implements a full node and is capable of storing, validating, and distributing all history of the Qtum network. Qtum Core is considered the reference implementation for the Qtum network.

Qtum Core currently implements the following:

  • Sending/Receiving QTUM coins
  • Sending/Receiving QRC20 tokens on the Qtum network
  • Staking and creating blocks for the Qtum network
  • Creating and interacting with smart contracts
  • Running a full node for distributing the blockchain to other users
  • "Prune" mode, which minimizes disk usage
  • Regtest mode, which enables developers to very quickly build their own private Qtum network for Dapp testing
  • Testnet mode, using the public Qtum Testnet, with faucet available
  • Compatibility with the Bitcoin Core set of RPC commands and APIs
  • Full SegWit capability with p2sh-segwit (legacy) and bech32 (native) addresses

Alternative Wallets

Qtum Core uses a full node model, and thus requires downloading the entire blockchain. If you do not need the entire blockchain, and do not intend on developing smart contracts, it may be more ideal to use an alternative wallet such as one of our light wallets that can be synchronized in a matter of seconds.

Qtum Web Wallet

A browser wallet that supports the Ledger hardware wallet, offline cold wallet, and restoration from mobile wallets.

Web site https://qtumwallet.org

User documentation https://github.com/qtumproject/documents/tree/master/en/QTUM-WebWallet-usage

Qtum Electrum

A light wallet that supports the Ledger and Trezor hardware wallets and is based on the well-known Electrum wallet software.

Download: https://github.com/qtumproject/qtum-electrum/releases

iOS and Android Wallets

These wallets run on mobile devices and synchronize quickly.

Android Download: https://play.google.com/store/apps/details?id=org.qtum.newwallet

iOS Download: https://github.com/qtumproject/qtum-ios (open source, deprecated)

Ledger Chrome Wallet

This light wallet runs in your Chrome browser as a browser extension. This wallet requires a Ledger device to use.

How to install: https://ledger.zendesk.com/hc/en-us/articles/115003776913-How-to-install-and-use-Qtum-with-Ledger

Community Resources

Make sure to check out these resources as well for more information and to keep up to date with all the latest news about Qtum. At least 1 developer is always around, so if you're developing on Qtum and need help, we'd love to welcome you to our community.

Qtum Smart Contract Limitations

  • EVM smart contracts cannot receive coins from or send coins to any address type other than pay-to-pubkeyhash (starts with Q) addresses. This is due to a limitation in the EVM
  • Contracts are not allowed to create contracts with an initial endowment of coins. The contract must first be created, and then be sent coins in a separate transaction. Humans are also not allowed to create contracts with an initial endowment of coins.
  • Although all of the infrastructure is present, Qtum Core does not currently parse Solidity event data. You must parse this yourself using either searchlogs or -record-log-opcodes features.
  • It is not possible to send a contract coins without also executing the contract. This is also the case of Ethereum. This was promised in earlier discussions and technically does work, but due to lack of time for testing this feature was disabled. We hope to reenable this feature with release of the x86 virtual machine in 2020.
  • In Qtum there can be multiple addresses used to create a proof-of-stake block. However, the EVM can only see the first output using the coinbase operation in Solidity (this address is also the one registered for the continuous staker rewards after 500 blocks).

Building Qtum Core

Validate and Reproduce Binaries

Qtum uses a tool called Gitian to make reproducible builds that can be verified by anyone. Instructions on setting up a Gitian VM and building Qtum are provided in Gitan Building

Build on Ubuntu

This is a quick start script for compiling Qtum on Ubuntu

sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils git cmake libboost-all-dev libgmp3-dev
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev

# If you want to build the Qt GUI:
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler qrencode

git clone https://github.com/qtumproject/qtum --recursive
cd qtum

# Note autogen will prompt to install some more dependencies if needed
./autogen.sh
./configure 
make -j2

Build on CentOS

Here is a brief description for compiling Qtum on CentOS, for more details please refer to the specific document

# Compiling boost manually
sudo yum install python-devel bzip2-devel
git clone https://github.com/boostorg/boost.git
cd boost
git checkout boost-1.66.0
git submodule update --init --recursive
./bootstrap.sh --prefix=/usr --libdir=/usr/lib64
./b2 headers
sudo ./b2 -j4 install

# Installing Dependencies for Qtum
sudo yum install epel-release
sudo yum install libtool libdb4-cxx-devel openssl-devel libevent-devel gmp-devel

# If you want to build the Qt GUI:
sudo yum install qt5-qttools-devel protobuf-devel qrencode-devel

# Building Qtum
git clone --recursive https://github.com/qtumproject/qtum.git
cd qtum
./autogen.sh
./configure
make -j4

Build on Mac OS

The commands in this guide should be executed in a Terminal application.The built-in one is located in /Applications/Utilities/Terminal.app.

Preparation

Install the Mac OS command line tools:

xcode-select --install

When the popup appears, click Install.

Then install Homebrew.

Dependencies

brew install cmake automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf qt5 libevent imagemagick librsvg qrencode gmp

NOTE: Building with Qt4 is still supported, however, could result in a broken UI. Building with Qt5 is recommended.

Build Qtum Core

  1. Clone the qtum source code and cd into qtum

     git clone --recursive https://github.com/qtumproject/qtum.git
     cd qtum
    
  2. Build qtum-core:

    Configure and build the headless qtum binaries as well as the GUI (if Qt is found).

    You can disable the GUI build by passing --without-gui to configure.

    ./autogen.sh
    ./configure
    make
    
  3. It is recommended to build and run the unit tests:

    make check
    

Run

Then you can either run the command-line daemon using src/qtumd and src/qtum-cli, or you can run the Qt GUI using src/qt/qtum-qt

License

Qtum is GPLv3 licensed.

Development Process

The master branch is regularly built and tested, but is not guaranteed to becompletely stable. Tags are createdregularly to indicate new official, stable release versions of Qtum.

The contribution workflow is described in CONTRIBUTING.mdand useful hints for developers can be found in doc/developer-notes.md.

Testing

Testing and code review is the bottleneck for development; we get more pullrequests than we can review and test on short notice. Please be patient and help out by testingother people's pull requests, and remember this is a security-critical project where any mistake might cost peoplelots of money.

Automated Testing

Developers are strongly encouraged to write unit tests for new code, and tosubmit new unit tests for old code. Unit tests can be compiled and run(assuming they weren't disabled in configure) with: make check. Further details on runningand extending unit tests can be found in /src/test/README.md.

There are also regression and integration tests, writtenin Python, that are run automatically on the build server.These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py

The Travis CI system makes sure that every pull request is built for Windows, Linux, and macOS, and that unit/sanity tests are run automatically.

Manual Quality Assurance (QA) Testing

Changes should be tested by somebody other than the developer who wrote thecode. This is especially important for large or high-risk changes. It is usefulto add a test plan to the pull request description if testing the changes isnot straightforward.

  • 本篇为Qtum x86虚拟机的第二篇技术分析连载,本篇逐渐进入实际代码操作实操阶段,想要了解什么是虚拟机、Qtum x86虚拟机独特优势见: Qtum x86 虚拟机技术文档连载(一) 2018年5月23日晚,Qtum x86虚拟机及Qtum企业版的开发进展发布会于韩国首尔顺利举行。Qtum研发团队现场演示了用c语言编写的“Hello world”智能合约,从编写、编译、部署到调用的全套流程,这也

  • 安装 根据自己的环境选择对应的安装包,下载至任意目录。目前提供的安装包列表如下: qtum-0.15.1-aarch64-linux-gnu.tar.gz qtum-0.15.1-osx64.tar.gz qtum-0.15.1-win64.zip qtum-0.15.1-arm-linux-gnueabihf.tar.gz qtum-0.15.1-win32-se

  • Qtum量子链基金会官方大使招募计划 即日起,Qtum量子链基金会官方大使招募计划正式启动! Qtum量子链在过去的两年间不断拓展全球社区,作为全球最有影响力的区块链平台,Qtum量子链将会在近期进一步拓展线下社区,并积极提倡更多自由的技术交流的线下主题活动,激发社区活力并进一步扩大全球影响力。 Qtum量子链社区已在过去的两年间在全球建立众多的区块链示范社区交流线下社区,搜索:Qtum量子链雅加

  • 什么是量子链 量子链是一个基于比特币核心和集成Ethereum的智能合约的新的区块链。他实现了一种可扩展的设计,能添加更多的虚拟机,允许账户的虚拟机在UTXO的区块链上执行。 安装 需要有OS X的命令行工具 xcode-select --install 需要环境安装Homebrew. 安装依赖 brew install cmake automake berkeley-db4 libtool bo

  • 如何部署Qtum量子链节点 本教程包含Qtum量子链的部署、运行以及RPC调用等内容。 教程假设读者能够熟练使用Linux,Mac或Windows命令行。若您不符合此要求,或只关心Qtum qt钱包的使用方法,请参考另一篇Qtum钱包使用教程。 获取Qtum节点 可以通过以下四种方法之一获得Qtum节点程序: 1. 直接下载二进制文件 如果你并不关心Qtum的源码,部署Qtum节点最方便的方法是在

  • 摘要 区块链由于数据会在所有节点间同步,所以不适合存储大型文件,从而限制了去中心化应用的发展。IPFS通过将文件切分后存储在网络的部分节点中,解决了大型文件的去中心化存储问题。区块链+IPFS是未来去中心化应用的发展方向,因此Qtum本文介绍了基于Qtum区块链和IPFS的一种去中心化应用的实现方式。 概述 从比特币开始,区块链就被定义为“不可篡改”的数据库技术,当所有节点通过区块链来建立信任的时

  • 本次Qtum量子链赏金计划为了更好的借助社区的力量参与到QTUM主网及周边应用的开发建设中,让QTUM持续地保持安全、高效的运行,同时能满足更多用户的需求。 Bug分级与奖励体系 1、如果已经有类似的Issue或者Qtum团队已经知道并在解决该问题的情况将不适用于该赏金计划。 2、如果在解决前将问题公开,并造成危害的将不会获得赏金。 3、修复时,请fork代码到自己的仓库中进行修复,然后提交pul

  • 全球最大的云上技术服务平台亚马逊网络服务(AWS)中国区正式宣布与Qtum量子链合作 昨日,AWS中国区域业务开发主管Simon Wang证实了这一合作关系,并在电子邮箱中向外国媒体CoinDesk说:“Qtum量子链现在是AWS的技术合作伙伴及其网络成员之一。”就此,亚马逊网络服务(AWS)中国分部正式宣布Qtum量子链合作。 QTUM的海外市场总监John Scianna接受CoinDesk采

  • 新年伊始,CSDN 以“让区块链回归技术和应用的本质”为宗旨撰写《区块链开发者报告》包含技术扫描、公链选择指南,以及公链与应用开发实战 3 个部分。 其中公链与应用开发实战部分,Qtum 量子链中国区技术负责人——钟文斌,撰写了《公链设计与开发实践和开发细节》部分,讲述了 Qtum 量子链基本特性、设计初衷,以及在Qtum量子链项目中所运用技术的详细介绍,本文为上篇,包含以下部分: 背景介绍 Qt

  • 本文主要描述了2018年12月28日至2019年1月27日关于区块奖励独立地址数(挖矿分布)、每日已确认交易数量、区块间隔、网络权重变化、以及独立地址增长数,查看实时数据报告,详情请点击https://qtum.info/misc/charts(复制到浏览器需要梯子) 区块奖励独立地址数 以上挖矿分布中截止1月27日间共有2243个地址挖出了区块,获得相应奖励其中最高数据为挖出了2022个区块,占

  • QtumGitHub 开发指南 本文将作为Qtum开发者快速入门指南,供各种开发人员开发使用 Qtum 在 GitHub 上提供的项目。 Qtum 是什么? Qtum 开发者官方描述为一个去中心化区块链项目,基于UTXO 模型,同时支持智能合约,实现这些功能基于账户抽象模型( Account Abstraction Layer)。 回顾:深度解析Qtum量子链账户抽象层(Qtum AAL) 原博主

  • 本文主要描述了2019年3月1日至2019年3月31日关于区块奖励独立地址数(挖矿分布)、每日已确认交易数量、区块间隔、网络权重变化、以及独立地址增长数,查看实时数据报告,详情请点击:https://qtum.info/misc/charts(复制到浏览器需要梯子) 区块奖励独立地址数 以上挖矿分布中截止4月30日共有2483个地址挖出了区块,获得相应奖励其中最高数据为挖出了1773个区块,占总量

  • 下载钱包 https://github.com/dashpay/dash/releases/download/v0.15.0.0/dashcore-0.15.0.0-win64-setup.exe 配置文件 #rpcuser, rpcpassword, rpcport rpcuser= rpcpassword= rpcport=19998 #rpcbind=127.0.0.1 rpcbind=0

  • ​ 本文主要描述了2019年1月28日至2019年2月27日关于区块奖励独立地址数(挖矿分布)、每日已确认交易数量、区块间隔、网络权重变化、以及独立地址增长数,查看实时数据报告,详情请点击:https://qtum.info/misc/charts(复制到浏览器需要梯子) 区块奖励独立地址数 以上挖矿分布中截止2月27日共有2307个地址挖出了区块,获得相应奖励其中最高数据为挖出了2079个区块,

  • Qtum 量子链黑客马拉松由Qtum量子链主办的大型线上黑客活动“2018Qtum区块链黑客马拉松”于2018年9月30日顺利落幕,本篇为您带来本次黑客马拉松获奖团队的视频采访,让我们一起来听听他们怎么说。 https://v.qq.com/x/page/i0788tpldus.html? Qtum Light Suite Chrome extension wallet and Javascrip

  • 本文主要描述了2018年11月28日至2018年12月27日关于区块奖励独立地址数(挖矿分布)、每日已确认交易数量、区块间隔、网络权重变化、以及独立地址增长数,查看实时数据报告,详情请点击https://qtum.info/misc/charts(复制到浏览器需要梯子) 区块奖励独立地址数 以上挖矿分布中截止12月27日间共有2403个地址挖出了区块,获得相应奖励其中最高数据为挖出了1571个区块

  • 背景介绍 Qtum量子链——结合比特币与以太坊优势的开源智能合约平台。 Qtum量子链项目由三位联合创始人帅初、Neil Mahi以及Jordan Earls发起。其中帅初曾于2012年入职阿里巴巴,Neil Mahi则拥有超过20年的软件开发经验,也在区块链开发领域也超过四年。 Qtum量子链团队认为比特币是目前最成熟稳定的区块链,从而运用Bitcoin Core作为项目的核心基础。然而比特币无

  • 因此,我们一直对x86虚拟机在Qtum中将允许的内容表现出色,除了更多的编程语言支持。 这基本上是因为设计过程很容易使一个平庸的版本,但很难建立一个优化,高效,易于使用的版本。 所以在这里我不会深入了解设计的细节,但是我想宣布我们想要的目标。 编程语言支持 当然,编程语言支持是构建这个x86虚拟机的重要原因。 我个人想让2018年在鲁斯特写的智能合约年。 Rust非常高效,重量轻,而且最重要的是注