2019年6月

从自己旧博客搬运过来的备忘

需求

设备有两张网卡分别配置为 eth0、eth1,前者为默认。

eth0 IP:192.168.0.199 网关192.168.0.1
eth1 IP:192.168.31.99 网关192.168.31.1

某个服务需要指定链接服务器(IP 123.45.67.89) ,希望数据走 eth1

1420041257605610066.png

查看路由规则:

ip route show

添加路由规则:

ip route add 123.45.67.89 via 192.168.31.1 dev eth1

以上规则写入后立刻生效,可再次查看路由规则确认

需要删除规则:

ip route del 123.45.67.89

上述操作重启后不保存,需要把规则写死,要写入文件

/etc/sysconfig/network-scripts/route-interface

本例中为

vi /etc/sysconfig/network-scripts/route-eth1

123.45.67.89 via 192.168.31.1 dev eth1

其他相似codebase的项目可能有类似情况,备忘将来使用
CRDS节点升级后提示无法启动MN,

查看状态提示

root@mn:~/.credits# credits-cli masternode debug 
Not capable Masternode: Invalid protocol version

解决方法如下

  1. 确保节点端已经同步良好
root@mn:~/.credits# credits-cli mnsync status    
{
  "AssetID": 999,
  "AssetName": "MASTERNODE_SYNC_FINISHED",
  "Attempt": 0,
  "IsBlockchainSynced": true,
  "IsMasternodeListSynced": true,
  "IsWinnersListSynced": true,
  "IsSynced": true,
  "IsFailed": false
}
  1. 重新 genkey
root@mn:~/.credits# credits-cli masternode genkey
5iyTrgYL************2AXDm84YvDjSyLakZtNcDfmCihz
  1. 把得到的key 更新到vps钱包的 credits.conf 的 masternodeprivkey 及本地主控钱包的 masternode.conf 中。
  2. 重启本地及VPS钱包。
  3. 在本地主控钱包启动远端节点
root@mn:~/.credits# creditsd
Credits server starting
root@mn:~/.credits# credits-clWarning: Make sure to encrypt your wallet and delete all non-encrypted backups after you verified that wallet works!


root@mn:~/.credits# credits-cli masternode debug
Node just started, not yet activated

root@mn:~/.credits# credits-cli masternode debug
Not capable Masternode: Masternode not in Masternode list

root@mn:~/.credits# credits-cli masternode debug
Masternode successfully started

分别是VPS节点刚刚启动,节点同步完成,本地远程启动节点 后的三个状态
搞定

以前项目做过几次,过一段时间就记不住了。

所以,要说现在技术面试什么手写代码根本是扯淡。

压缩


<?php
$file_path = "/path/to/file2.txt";
$zip = new ZipArchive;
if ($zip->open('test.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) {
    $zip->addFile('/path/to/index.txt', 'newname.txt');
    $zip->addFile($file_path); //不用第二参数,直接把文件原本的目录结构打包进zip包
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

解压

$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->extractTo('/my/destination/dir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}

文档: https://www.php.net/manual/en/class.ziparchive.php

够用主义,正则规则做得略微松散,不是非常非常非常严谨(知道有些特殊号段不存在)

/**
 * BASE::valid_phone()
 * 验证手机号有效性 (符合手机号码的组合规则)
 * @param string $phone
 * @return boolean $isPhone 
 */
function valid_phone($phone){
    $exp = "/^1[3-9]{1}[0-9]{9}$/";
    if(preg_match($exp,$phone)){
        return true;
    }else{
        $this->err = "请输入正确有效的手机号码";    
        return false;
    }
}

zcoin官方发推更新了他们的mtp ccminer, 考虑都我近半年一直在用 CryptoDredge 0.16 未曾更新,所以更新看看效果如何

测试设备
GTX 1070ti
24G DDR4 ECC 内存
驱动 nvidia CUDA 10.1 dev kit (由于ccminer仅支持10.1所以升级了)

不废话直接上结果

原数据

CryptoDredge v0.16.1

平均算力: 2.2M
TDP: 80%
温度: 73℃
fee: 2%
驱动要求: CUDA 9/10/10.1

现测试数据

CryptoDredge v0.20.1

链接 https://github.com/technobyl/CryptoDredge/releases

平均算力: 2.5M
TDP: 103%
温度: 78℃
fee: 2%
驱动要求: CUDA 9/10/**10.1**

mtp ccminer v1.1.19

链接 https://github.com/zcoinofficial/ccminer/releases

平均算力: 2.55M
TDP: 103%
温度: 78℃
fee: 0.25% (可以加 --no-donation 参数手动选择不给)
驱动要求:**10.1**

结论:性能差不多,但都是牺牲 温度提升 TDP 换取的 算力,自己取舍值不值得上。为了考虑寿命和安全,我决定继续跑在 80% TDP...