Tag: 程序
我们可以通过两种方式来查询任意一个区块链上BTC比特币钱包的余额。 一种方式是直接查询节点,节点可以自己架,但可能较复杂,自己架服务器节点也不便宜。但是这种方法是可以获得较低的延时 (Latency),因为从节点取的数据本来就是链上的。当然可以撸别人的节点,如果节点可靠又需要获取更实时的数据那这是一种比较好的选择。 另一种方式就是使用第三方的API服务,这样的服务一般有免费还有付费的API调用。使用这些API节点的好处是更容易更简单,但会有一定的数据延时,因为API节点需要实时的去链上取数据,再更新到数据库中,再返还给调用者,有一点的时延。 本文介绍获取比特币帐号余额的两种调用第三方服务的方式:mempool 和 blockcypher。 通过 Mempool API 来查询指定比特币钱包地址的余额 我们可以使用 Mempool.space 的 API(有免费和付费版本的 API 调用)通过以下 NodeJs 函数检查任何 BTC/比特币钱包地址的余额: const axios = require('axios'); async function getBTCAddressBalance(btcAddress) { const …
虽然现在在STEEMIT上转帐到交易所的时候如果没有填写 MEMO, 是会提示的, 但是有时候你手快, 可能把你的帐号地址给复制过去然后就点发送了, 这时候就悲剧了. 很久之前, 我误操作100 SBD到 @blocktrades 就是把MEMO填成帐号地址了, 幸运的是通过各方途径联系了官方, 几个小时内收到了退款. 但是别的交易所, 如 bittrex 可能就不是这么的幸运了, 转帐转错了有时候权当捐款了. 是不是每次转帐的时候都提心吊胆, 生怕转没了? 其实你只要懂一点程序, 完全可以通过程序的方式来转帐, 程序只要调通了第一次, 之后再执行出错的可能性几乎没有了. 比如, 我的自动转帐脚本如下 (Python) from steem …
微信提供API接口, 使用接口的第一步是需要通过以下API获得一个 access token, 这个 token 目前有效期 2个小时. https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 如果在过期之前调用API将会返回同样的 token, 问题是这个API的调用次数每天是有上限的 所以我们需要尽可能的重复利用这个 token. 我们可以把这个 token 存到数据库或者文件中 只要不过期 就可以反复使用. 以下PHP脚本就提供了这样一个功能, 把获取的token和有效期存到文件中 只要不过期就提供缓存的值 这样可以减少调用微信API的次数(减少因调用API所带来的延时). define('APPID', '您的APPID'); define('APPSECRET', '您的APP SECRET'); define('TOKENFILE', …
十年前(2005年)我本科的毕业设计做了一个中国象棋的 桌面程序 智慧 中国象棋 (Xiang Qi) 一款完全免费的 中国象棋 (Xiang Qi) 游戏 后来认识媳妇之后 改名成 ‘智慧’ 我俩名字的一个字. 最开始代码是在DELPHI 7下编译的 后来移到 DELPHI 2007 最近休假 又整了整代码 移到了 DELPHI XE8 下编译. DELPHI XE8 下支持 …
今天 看到一小学一年级数学题目: 大白 + 大白 = 白胖胖 其中 大, 白, 胖 各是一个数字 也就是 0 到 9 程序 暴力搜索 解法 适合给新学一门语言的人练练手 找找自信. 比如 用 PowerShell for ($da = 1; $da …
几乎所有软件程序都能被破解, 只是时间长短的问题, 国外有一个有名的组织是 ZeroDay 意思就是不用一天就可以破解任何软件. 有两种桌面程序,最常见的就是用 C++/Delphi 编写的 原生 native 代码,这样写出来的软件是不容易看到源代码的,因为编译器做了优化和处理.这样的代码的优点是执行速度快,效率高, 但是关键部分的代码,比如 License 验证,有经验的黑客还是很容易破解的. 俄罗斯有一个很有名的商业软件 VMProtect, 用于保护 native 代码,保护强度非常不错, 加壳,压缩,虚拟指令,防虚拟器,防调试程序等功能,保护出来的文件有时候会被一些杀毒软件认为是恶意的程序.因为用到了一些特殊指令,而杀毒软件无法分析.这种情况下可以通过联系杀毒软件公司将程序加入白名单里. .NET 程序是另一大类别.有点和 Java 类似, .NET 程序编译出来不是 本地代码 (Native),而是中间代码(类似JAVA的 ByteCode). …
看到一段代码,差点没笑出来.原来的没法直接贴出来, 但大概意思是这样的.比如我们要顺便检查一个数组里是否有存在 0,那么可以这么写,很简单: bool hasZero = false; for (int i = 0; i < arr.length; i ++) { if (arr == 0) hasZero = true; doStuff(arr); } 但是有人却觉得这样太简单了,很不爽,非得要这样: bool …