转账的时候需要手动寻找每一笔未花费记录实在太费时. 比特币转账需要提取或合并所有未花费的交易中的比特币,才能实现交易. import * as bitcoin from 'bitcoinjs-lib'; import fetch, { Response } from 'node-fetch'; const quantitySat = 0.0001 * 1e8; const feeSat = 0.0001 * 1e8; (async () => { try { let NETWORK = bitc…
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股票前卖出股票. 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 最大利润 = 6-1 = 5 .注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格. 示例 2: 输入: [7,6,4,3,1] 输出…
首先根据我有限的知识判断,回滚之后进行写表,该写表动作只能使用listener来进行. 考虑使用的listener有:ItemWriteListener     StepExecutionListener    ChunkListener 我首先使用了ItemWriteListener,在 onWriteError(Exception exception, List items) 方法中对items进行了写表,后来发现被回滚,通过一步一步debug,看到确实该方法之后才是rollback. 所以…
pytrader是基于 easytrader 和 easyquotation 的量化交易框架,支持东方财富自动交易,支持进行策略回测. 开源地址:https://github.com/jadepeng/pytrader 策略文件 在strategies目录,可以参考已有的编写. 策略需要继承StrategyTemplate类,实现int和onbar等函数. init 设置关注的股票,行情引擎就会推动股票行情. def init(self): for stock_code in self.watc…
作者:Derek 简介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 本章介绍Derek解读-Bytom源码分析-创世区块 作者使用MacOS操作系统,其他平台也大同小异 Golang Version: 1.8 创世区块介绍 区块链里的第一个区块创被称为创世区块.它是区块链里面所有区块的共同祖先. 在比原链中创世区块被硬编码到bytomd中,每一个比原节点都始于同一个…
Merkle树 https://www.jianshu.com/p/fc439a8fd0de 所谓比特币交易就是从一个比特币钱包向另一个中转账,每笔交易都有数字签名来保证安全.一个交易一旦发生那么就是对所有人都公开的,每个交易的历史可以最终追溯到相应的比特币最初被挖出来的那个点. 先简单回顾一下比特币交易过程. 其实比特币并不存在于任何地方.有人如果持有比特币,那么他们其实是拥有特定比特币的地址,但是所谓的币并不是直接就存在于这个地址中的,地址就相当于你的银行账户. 有的只是各个地址之间的转账记…
转载链接:https://ethfans.org/posts/solidity-chapter1-introduciton-to-smart-contracts 概括总览: 以太坊虚拟机(EVM)是以太坊中智能合约的运行环境.它不仅被沙箱封装起来,事实上它被完全隔离,也就是说运行在EVM内部的代码不能接触到网络.文件系统或者其它进程.甚至智能合约与其它智能合约只有有限的接触. 账户: 以太坊中有两类账户,它们共用同一个地址空间.外部账户,该类账户被公钥-私钥对控制(人类).合约账户,该类账户被存…
转载自:https://www.douban.com/note/330962457/ 问:PPT模板是什么含义? 答: 先假定你们要的是这种网上到处泛滥成灾的主题PPT吧,下面请耐心看到最后,秋叶老师放各种大招,十款绝招总有一招震惊你. 看完这篇文章,如果你还找不到PPT模板,我就彻底服了你! 第一招:百度“PPT模板”百度PPT界搜索量最大的关键词“PPT模板”,你一定会发现这个“站长素材网”.这个网站分享的PPT模板优点是免注册免费下载,缺点是质量参差不齐,商务风格不明显,反正都是拿别人的盗…
交易(transaction)是比特币的核心所在,而区块链的唯一目的,也正是为了能够安全可靠地存储交易.在区块链中,交易一旦被创建,就没有任何人能够再去修改或是删除它.在今天的文章中,我们会实现交易的通用机制. 如果以前开发过 web 应用,在支付的实现环节,你可能会在数据库中创建这样两张表: accounts transactions account(账户)会存储用户信息,里面包括了个人信息和余额.transaction(交易)会存储资金转移信息,也就是资金从一个账户转移到另一个账户这样的内容…
比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 该部分主要针对用户使用bytom自带的账户模式发送交易 1.构建交易 API接口 build-transaction,代码api/transact.go#L120 以标准的非BTM资产转账交易为例,资产ID为全F表示BTM资产,在该示例中BTM资产仅作为手续费,该交易表示花费99个特定的资产到指定地址中.其…
最近在看以太坊(Ethereum)的源代码, 初初看出点眉目. 区块链是近年热点之一,面向大众读者介绍概念的文章无数,有兴趣的朋友可自行搜索.我会从源代码实现入手,较系统的介绍一下以太坊的系统设计和协议实现等,希望能提供有一定深度的内容,欢迎有兴趣的朋友多多讨论. 注:1.源代码在github上, 分C++和Golang两个版本,这里我选择的是Go语言版(github.com/ethereum/go-ethereum),以下文中提到的Ethereum 代码部分,如无特别说明,均指go-ether…
在公链基础上实现区块链交易 区块链的目的,是能够安全可靠的存储交易,比如我们常见的比特币的交易,这里我们会以比特币为例实现区块链上的通用交易.上一节用简单的数据结构完成了区块链的公链,本节在此基础上对区块链的交易部分进行实现. 交易机制 在区块链中,交易一旦被创建,就没有任何人能够再去修改或是删除它,本节将实现一个交易的基本框架,具体交易细节将会在之后给出. 以比特币为例,不同于一般概念的账户模型,其交易采用的是UTXO模型.我们所需要的信息,都间接的包含在了每一笔交易中,包括用户的余额信息.…
UTXO UTXO (Unspent Transaction Output) 未花费交易输出 传统的支付系统都是基于账户(account based)的,即: 若A向B转账20元 判断A的账户余额大于等于20元: 在B的账户上加20元: 同时在A的账户上减20元. 使用UTXO模型的加密货币中,某一个"账户"中的余额并不是由一个数字表示,而是当前区块链网络中所有跟当前"账户"有关的UTXO组成.也就是,比特币地址账户中的"余额"实际上并不是比特币…
Life of a Transaction交易的生命周期 https://developers.libra.org/docs/life-of-a-transaction 为了更深入地了解Libra交易的生命周期,我们将跟踪一个交易从提交给Libra验证器到提交给Libra区块链的过程.然后,我们将“放大”验证器的每个逻辑组件,并查看它与其他组件的交互. Client Submits a Transaction用户提交一个交易 Libra用户构建了一个原始交易(我们称之为T5raw),将10个Li…
交易生命周期 为了更加深入的理解Libra的交易生命周期,我们将跟随一个交易的全过程,从其被提交到Libra validator始,直至其被添加到区块链上止.我们将“放大”来看每个validator逻辑组件及与其他组件之间的交互. 客户端提交交易 Libra客户端构造 原始交易 (此处称为T5raw),从Alice的账户中转移10Libra币到Bob的账户中.原始交易应包含以下字段:每个字段都通过超链接关联到词汇定义表. Alice的账户地址. 一个表明Alice方将执行的操作的程序,包括: 一…
4.1 17.5W秒级交易峰值下的混合云弹性架构之路 前言 每年的双11都是一个全球狂欢的节日,随着每年交易逐年创造奇迹的背后,按照传统的方式,我们的成本也在逐年上升.双11当天的秒级交易峰值平时的近10多倍,我们要用3-4倍的机器去支撑.但大促过后这批机器的资源利用率不高,到次年的双11会形成较长时间的低效运行.试想一下,电商交易有大促峰值,而阿里云有售卖Buffer,如果能充分发挥云计算的弹性能力,让资源可以两边快速腾挪,就可以解决资源浪费的问题了.把我们的交易单元可以部署在云上面,那么大促…
1 Q扩展部分数据 增加3个DGI,分别为:A001,8020,9020 9103中增加DF60(9F38中),DF61 增加DF62,DF63 1.1  A001扩展应用配置 DGI 长度 值(示例) A001 7*N 15 01 00 00 FF 00 00 数据按7个字节为一个单元进行组织,每个单元对应一个扩展应用文件的配置信息,解析如下: 1字节扩展应用文件SFI: 1字节文件类型:01表示变长记录文件, 02表示循环记录文件: 1字节读权限:00表示采用Read CAPP Cache指…
记者:我们不得不要说到你和雅虎之间的事情了.你知道,雅虎对整个互联网业的意义不只是一家公司,它有它象征的意义,重要的是,雅虎对阿里巴巴的意义更加非同寻常,当你最后决定用76亿美元从雅虎“赎身”的时候,你曾经有过什么样的思考?   马云:人们把很多问题看的太个人化了,太纠结了.我和雅虎又没有什么大关系,对我来说,雅虎是互联网时代的标志性公司,我们都很喜欢这家公司.阿里巴巴和雅虎,在一个很偶然的也很有意思的时期,我们碰上了,合作了,到一定程度的时候,我们又发现我们必须分开才能更好,所以就又分开了.这…
当我们基于比原做应用的时候,在构建交易过程中会遇到以下两种情况.多个地址向一个地址转账,还有一种就是从一个地址分批次向多个地址转账.那我们今天就来介绍一下这两种交易构建的具体流程,以及贴出具体实现的代码. 链式交易 当我们从多个钱包地址一次性转到一个地址的时候,为了提高用户体验.我们可以选择链式交易,把多笔交易一次性打包.那我们下面就来看一下链式交易的流程. 接下来我们来看一下build-transaction接口的代码实现过程,代码如下: // POST /build-chain-transa…
#!/bin/bash yesterday=`date -d last-day +%Y-%m-%d` dayago=`date -d '2 days ago' +%Y-%m-%d` #echo $yesterday yester=`grep 'createOrderPayByQrcode.in' /opt/nginx/logs/all_access.$yesterday |wc -l` oldday=`grep 'createOrderPayByQrcode.in' /opt/nginx/log…
bitcoin 源码解析 - 交易 Transaction(三) - Script 之前的章节已经比较粗略的解释了在Transaction体系当中的整体运作原理.接下来的章节会对这个体系进行分解,比较详细描述细节的构成. 本章将要详细分析bitcoin交易中的交易脚本-script到底是什么东西. 回顾和概要 在前面的文章中提到,在bitcoin的体系中,一个交易是被发布到比特币的整体系统中的,而能够操控之前交易的的TxOut(被锁住的coin),是需要能够操控这个TxOut的人提供"钥匙&qu…
这篇文章我断断续续写了呃···· 应该快三个星期了? 所以前后的风格可能差别相当大.真是十分的怠惰啊··· 最近实在是不够努力.用python重写bitcoin的项目也卡在网络编程部分(这方面真是我的软肋) 这篇文章通篇都是文字-_-, 没有其他东西,这个样子给读者会造成很大的压力吧···· 虽然题目所说的是原理,但是实际上一部分原理已经在前面几篇文章都有过一些零散的说明了,感觉写出来又有点重复..所以最好先读过前面几篇可能看起来更好点..等我把所有的东西都写完后应该会重新整理,然后重新写一份更…
什么是账户 以太坊账户与我们所知的账户概念有一定相似之处,却又有很大的区别,更不同于比特币中UTXO. 账户分两类: - 外部拥有账户(EOA),也就是普通账户 - 合约账户 普通账户 所谓的普通账户就是我们存放以太币的账户,可以随意生成,它具有以下特性: - 拥有以太币余额(以太币存放的地方,与比特币的UTXO模式不同)的balance. - 用于确定每笔交易只能被处理一次的计数器(nonce). - 发送交易(以太币转账.发布合约.调用智能合约) - 通过私钥控制 - 没有相关联的代码 合约…
比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 该部分主要针对用户自己管理私钥和地址,并通过utxo来构建和发送交易. 1.创建私钥和公钥 2.根据公钥创建接收对象 3.找到可花费的utxo 4.通过utxo构造交易 5.组合交易的input和output构成交易模板 6.对构造的交易进行签名 7.提交交易上链 注意事项: 以下步骤以及功能改造仅供参考,…
原文链接-石匠的Blog 1.背景 在去中心化的区块链中进行交易(转账)是怎么实现的呢?本篇通过blockchain_go来分析一下.需要进行交易,首先就需要有交易的双方以及他们的认证机制,其次是各自的资金账户规则.在分布式账本系统里面,需要有机制能够准确验证一个用户身份以及对账户资金的精确计算,不能出现一丁点差错.在区块链中交易通过Transaction表示,而账户的自己并不是在每个节点上保存每个用户的一个余额的数字,而是通过历史交易信息计算而来(历史交易不可篡改),其中的关键机制是UTXO.…
<零起点,python大数据与量化交易>,这应该是国内第一部,关于python量化交易的书籍. 有出版社约稿,写本量化交易与大数据的书籍,因为好几年没写书了,再加上近期"前海智库·zw大数据"项目,刚刚启动. 因为时间紧,只花了半天时间,整理框架和目录. 说是v0.1版,但核心框架已经ok:从项目角度而言,完成度,已经超过70%,剩下的只是体力活. 完成全本书,需要半年以上连续时间,本人没空,大家不要再问:"什么时间可以完成." 配合zwPython,这…
UTXO 代表 Unspent Transaction Output. Transaction 被简称为 TX,所以上面这个短语缩写为 UTXO. 现在的银行也好.信用卡也好.证券交易系统也好,互联网第三方支付系统也好,其核心都是基于账户(account based)的设计,由关系数据库支撑. 数据库要确保两点,第一是你要确保业务规则得到遵守,张三的余额充足.第二是确保事务性,也就是原子性.一致性.隔离性.持久性(ACID).这种基于账户的设计,简单直观,而且在 IT 系统设计里用了几十年,应该…
区块链最主要的特性之一是去中心化,没有了中心机构的集中处理,为了达成数据的一致性,就需要网络中全民参与管理,并以某种方法达成共识,所以区块链的交易流程也就是共识的过程.       在Fabric中,本由一个节点处理的过程,在逻辑上被分解为不同的角色,每个角色承担不同的功能:节点(Peer)分解为背书节点(Endorser peer)和提交节点(Committer peer),为了达到处理的顺序性,提炼出排序(Orderer)角色.       Fabric是应用于联盟链的场景,在处理每一笔交易…
基于Vue.web3的以太坊项目开发及交易内幕初探 本文通过宏观和微观两个层面窥探以太坊底层执行逻辑. 宏观层面描述创建并运行一个小型带钱包的发币APP的过程,微观层面是顺藤摸瓜从http api深入go-ethereum源码执行过程. 分析思路:自上而下,从APP深入EVM. 从应用入手,如果一头扎进ethereum,收获的可能是纯理论的东西,要想有所理解还得结合以后的实践才能恍然大悟.所以我始终坚持从应用入手.自上而下是一种正确.事半功倍的方法论. 我在讲解以太坊基础概念的那篇专题文章里,用…
交易数据结构 有关交易的详细信息可以查看比特币的wiki网站:Transaction TxBinaryMap: 原始图片地址 交易的结构表格(Transaction): 示例数据 以一个正式网络的一笔交易为例分析:ac89b280cc21854b82b4cc111a0e6c0d10315117b6001e3f4f3af3d2f7b2fd53 通过blockcypher的API接口可以拿到更加详细的JSON数据 这笔交易的JSON返回数据: { "block_hash": "0…