以太坊txhash
㈠ php https数据采集
1:curl抓取html
2:用正则截取你需要的内容,或则用explode分割获取内容,还有phpquery等可以像jquery一样使用选择器获取你需要的内容
㈡ 最新的区块链游戏哪个好玩
区块链游戏层出不穷,现在比较热的是以太坊上的加密英雄、EOS上的EOS骑士、波场上的Epic Dragons,还有很多好玩的游戏可以去SpiderStore看
㈢ 以太坊如何使用web3.js或者rpc接口获取交易数据交易时间与确认数
如果要查询主网上的交易记录,可以使用etherscan。但是,如果是你自己搭建的私链,应该如何查询交易记录呢?
答案是你需要自己监听链上的日志,存到数据库里,然后在这个数据库中查询。例如:
varaddr=""
varfilter=web3.eth.filter({fromBlock:0,toBlock:'latest',address:addr});
filter.get(function(err,transactions){
transactions.forEach(function(tx){
vartxInfo=web3.eth.getTransaction(tx.transactionHash);
//这时可以将交易信息txInfo存入数据库
});
});
web3.eth.filter()用来监听链上的日志,web3.eth.getTransaction()用来提取指定交易的信息,一旦获得交易信息,就可以存入数据库供查询用了。
推荐一个实战入门,你可以看看:以太坊教程
㈣ 对区块链游戏是什么有价值吗
区块链游戏是什么?
目前对于区块链游戏的定义很多,比较公认的一个定义是的把核心数据写入区块链、基于链上数据作为随机数来源。比如之前的游戏中的货币是由游戏运营商决定,但是由于区块链的去中心化特点,货币之间的交易都是透明,并且交易数据都是同步到每一个玩家身上,那么这样一来,货币总量不变的情况下, 游戏获得货币会更具价值。
区块链能给游戏带来什么价值?
游戏资产的所有权和流通性
在区块链上,玩家可以拥有游戏内的资产,而这些资产则有更广泛意义上的流通性。传统游戏中的积分、道具、武器、角色往往全部归开发商所有,也因此中心化的开发商有更大的权力对这些资产进行大刀阔斧的改动,甚至随意处置。游戏内的这些资产往往也只能局限于这一个游戏内部进行流通,出了游戏之外,似乎毫无复用的价值,也从技术层面很难被再次赋予应用场景。
在区块链逻辑下,一旦游戏内的资产上链,这些积分、道具、武器、角色完全可以归属到玩家的区块链地址下面,玩家对于这个地址以及其下面的资产拥有所有权。那么我们可以设想若干个应用场景:
1.资产随时随地交易:大量的游戏是不具备道具交易功能的,当然这么设计很多时候的初衷是为了避免游戏内经济机制的混乱、延长用户游戏时间、增加开发商的收入。假设以上并不是开发者所担心的问题,那么“道具上链+移动钱包”可以实现两个用户随时随地在线上线下交易。你跟好友在吃饭时聊到最近的一个PC端游戏,打开手机钱包,看看彼此有什么样的武器装备,完成一笔交易的体验就像一次微信扫码支付一样简单,晚上回到家,打开PC登录游戏,交易完成的道具早已躺在了你的装备栏里。
2.游戏资产复用:资产上链后因为挂在每一个玩家的地址下,对于开发商来说可以轻松的复用其他游戏的资产进行二次改造或者实现跨游戏复用。SpiderStore有一个游戏叫CryptoCuddles,基于加密猫的猫咪战斗游戏,玩家用自己的以太坊地址登录,游戏就会自动获取到该地址下所有的加密猫咪,角色来自于加密猫,只有战斗逻辑来自于CryptoCuddles本身。
3.新的用户获取方式:传统游戏下,新的游戏往往需要重新获取用户,或者用老游戏给新游戏导流。区块链可以打破这种方式,降低获客成本,比如上述的CryptoCuddles,所有加密猫的用户都是潜在可以直接转换过来的游戏玩家。如果直接复用资产涉及到IP问题,开发商也可以这样设计,只要在加密猫拥有猫咪的用户,可以直接在这个游戏中直接获取一定的奖励,可以是角色、宝箱、道具等等,验证方式只需要用地址登录读取一下链上数据即可。
这样一来,一款新游戏上线完全可以借用现有爆款游戏的用户引流,这个玩法其实不就是分叉币发糖果、新代币空投的套路么?利用ETH或者EOS这类持币人数最大的币种,给持币人1:1空投自己的代币,从而非常低成本获取用户。
SpiderStore目前拥有2000多个游戏DApp下,累计几十万个玩过以太坊游戏的用户信息,如果新的一款游戏需要推广,最简单的就是给这些地址空投游戏资产,这可比传统的广告投放精准多。
㈤ 请问 unix 的shell命令集 都有哪些
UNIX系统常用命令
UNIX系统常用命令格式:
command [flags] [argument1] [argument2] ...
其中flags以-开始,多个flags可用一个-连起来,如ls -l -a 与ls -la相同。
根据命令的不同,参数分为可选的或必须的;所有的命令从标准输入接受输入,输出
结果显示在标准输出,而错误信息则显示在标准错误输出设备。可使用重定向功能对
这些设备进行重定向。
命令在正常执行结果后返回一个0值,如果命令出错可未完全完成,则返回一个
非零值(在shell中可用变量$?查看). 在shell script中可用此返回值作为控制逻辑
的一部分。
注:不同的UNIX版本的flags可能有所不同。
1、与用户相关的命令
1.1 login
(在LINUX Redhat下此命令功能与Solaris/BSD不同,执行login会退出当前任务).
login:
Password:
相关文件:
在下面的这些文件中设定shell运行时必要的路径,终端类型,其他变量或特殊程序.
$HOME/.profile (Bourne shell, sh, bash)
$HOME/.cshrc (csh, tcsh)
$HOME/.tcshrc (tcsh)
/etc/passwd文件中列出每个用户的shell
/etc/csh.cshrc
/etc/csh.login
/etc/profile (Bourne shell, bash)
/etc/login (Bourne shell, bash)
csh: /etc/csh.cshrc和$HOME/.cshrc每次执行都会读取,
而/etc/csh.login和$HOME/.login只有注册shell才执行
修改相应文件后使用 source .cshrc使能相关修改,如果修改了path则
还需使用rehash刷新可执行文件hash表。
tcsh: $HOME/.tcshrc, 没有些文件读取.cshrc
sh: /etc/profile和$HOME/.profile注册shell
bash: /etc/profile和$HOME/.bash_profile注册shell读取
.bashrc交互式非注册shell才读取。
在sh/bash下手工执行相关文件:
. /etc/profile
相关文件执行顺序
sh: /etc/profile -> $HOME/.profile
csh/tcsh: /etc/csh.cshrc -> /etc/csh.login -> $HOME/.cshrc
-> $HOME/.login
变量的设置:
sh/bash: TERM=vt100; export TERM
OR: export TERM=vt100 (bash)
csh: setenv TERM vt100
常用变量:
(1)Backspace $HOME/.profile $HOME/.cshrc
stty erase ^H
(2)umask 新建文件或目录的保护属性
(3)TERM
(4)切忌PATH中加入 .
1.2. rlogin
与telnet类似,连接到远程主机.
rlogin remotehost [ -l loginname ]
Or:
rsh [-l loginname] remotehost [command ]
相关文件:
远程主机的 /etc/hosts.equiv 和 $HOME/.rhosts
相关网络配置文件:
/etc/inetd.conf文件中的r系统服务.Redhat下为shell, login, exec, 对应
的网络守护进程(daemon)为in.rshd, in.rlogind, in.rexecd.
建议: 从安全角度出发,关闭r系列服务.
1.3. telnet
telnet remotehost [port]
相关文件:
/etc/inetd.conf文件中的telnet服务.
/etc/issue.net
TIPS: strings /usr/sbin/in.telnetd |egrep issue
1.4. passwd 更改口令
1.5 exit 退出当前shell
2. 命令或文件的查找
相关shell变量:
csh/tcsh: $path
.cshrc set path=(/usr/bin /usr/local/bin $path)
sh/bash: $PATH
.profile .bash_profile
PATH=/usr/local/bin:$PATH; export PATH
2.1 which
Syntax: which command
which为bash/tcsh内带命令
[hbwork@toshiba]$ which which
which: shell built-in command.
2.2 where(tcsh)
Syntax: where command
2.3 locate (LINUX)
Syntax: locate filename
相关命令: updatedb更改locate文件名数据库
3. 查看命令的用法
man
相关文件:
/etc/man.config
4. 管理员常用命令
4.1 install
用于安装一个新的命令或daemon等. 一般情况下可以不用,但很多软件在其安装
shell script中使用install将目标文件复制到相应的目录并设置正确的属性等.
NAME
install - files and set their attributes
SYNOPSIS
install [options] [-s] [--strip] source dest
install [options] [-s] [--strip] source... directory
install [options] [-d,--directory] directory...
Options:
[-c] [-g group] [-m mode] [-o owner] [--group=group]
[--mode=mode] [--owner=owner] [--help] [--version]
4.2 shutdown
不同的unix参数不尽相同,在linux下常用如下方式关机:
shutdown -h now
shutdown -r now (等同于reboot)
4.3 halt
poweroff
关机,在多用户方式下(Runlevel 3)不建议使用,
4.4 ulimit
korn shell和bourne shell中可用此命令,在csh系列中相应的命令为limit.
用于限制每个进程可使用的系统资源,通常分两种限制:
. Hard limits 系统所定义的资源,只有root能更改
. 软限制 对新建进程所使用的限制,可增加到系统的Hard Limit.
Flags:
-a 列出软限制
-Ha 列出Hard Limit
-c size 设置coremp size的块大小
-t size cputime
-f size file size
4.5 umask 系统管理员用于设置用户默认的umask值.
5.与进程相关的命令
进程基本概念: 进程与命令的执行相关,但并不是一一对应; 一条命令可能对应若干
个进程(如shell script, pipe等).但最简单的命令与umask只有一个进程.
进程分类:
.交互式进程:可以前台或后台执行,前后台可切换
.批处理进程:不通过终端提交,一般将它们放在任务队列中顺序执行. 如通过
at 和 crontab提交的任务.
.deamon:永不终止的进程,等待响应来自其他进程的服务请求.如sendmail,
named(DNS), POP3及apache等.
进程的相关属性:
PID
Real UID
Effective UID (SUID)
Real GID
Effective GID (SGID)
Priority(Nice Number)执行的优先级
5.1 ps
Process Status, 列出当前运行的进程状态,根据选项不同,可列出所有的或部分进程
. 无选项时只列出从当前终端上启动的进程(SYSV)或当前用户($USER)的进程(BSD),
不同的UNIX版本之间有差别. linux使用BSD版本的ps
. BSD版本ps命令使用方法:
ps
ps aux 列出系统中所有的进程的详细情况
ps aux |egrep inetd
输出信息内容:
PID
Terminal 如无相应终端则为-
cpu time
UserID or Username
进程启动时间或日期
进程状态(Stat: S(leep) R(unnable) D(uninterrupt sleep) Z(ombie)
W 进程没有驻留页面, N: 进程的nice值为负值
5.2 kill
kill [-signal] PID
kill -l 列出可用信号量
常用信息量:
-HUP (1) 重启进程
ps ax |egrep inetd
kill -HUP pid_of_inetd
-KILL (9) 强制中止
PID取值含义:
>0 指特定进程(实际进程)
=0 同组用户的所有process(PGID)
=-1 Effective UID = 执行命令用户之uid
<0 && !=1 取绝对值之进程
5.3 nice
用于改变一个或多个进程的优先级; 但只有root或提高进程的优先级, 普通用户只能
降低进程的优先级.
nice用负数表示提高优先级,而正数表明降低优先级,通常此值范围是-20~20.
如未指定提高优先级,nice会降低或不改变进程的优先级. 当然如果没有权限的话
进程的优先级不会有任何改变.
一般情况下我们用nice来降低后台进程的优先级(默认优先级为10).
nice find . -name "*.c" -print &
nice 16 find . -name "*.c" -print &
5.4 wait
wait PID
等待作业结束,参数为pid,在shell script中有时用到.
5.5 nohup
nohup command &
5.6 sleep
sleep seconds
进程前后台切换: Ctrl-Z, fg, bg
6. 通讯
6.1 ftp
6.2 mailx
6.3 minicom (串口终端,MODEM)
7. 文件比较
cmp
comm
diff (用于比较文本文件)
diff3 (比较3个文件)
sdiff
8. 文件操作
touch 创建文件,修改文件日期等
chmod
chwon
chgrp
rm 慎用 rm -rf
mv 移动文件或改名
cp cp -r 复制目录
cat
rcp 远程复制
ln 默认情况下为硬连接,每个文件具有相同的inode
ln -s sourcefile targetfile
9. 目录操作
mkdir [-p] [-m mode] directory
rmdir [-p] directory
10. 文件信息命令
ls
find
最基本的功能是查找一个文件名或目录,常用格式如下:
find . -print (类似于 ls -lR)
find可使用如下属性进行查找:
-name 查找文件名,含通配符*?的文件名用引号括起来
-perm 00x000 八进制文件属性
-atime n n天之前访问过的文件
-mtime n n天之间修改过的文件
-ctime n 文件的状态在n前之间修改过
-exec command 如命令的返回代码为零(找到相应的文件)则真,command必须以
\; 结果,此外在命令的执行中 {} 为查找到的文件路径名
-ok command 与exec相类似,但在执行每个命令之间要求用户确认
-print 打印当前路径名
-newer filename 如文件的最后修改日期较filename新则为真
-type c c=[b,c,d,l,p,f]文件类型
-user username 如文件的属主为username则为真
-nouser 文件属主在/etc/passwd文件中不存在
-group grouname 文件组
逻辑运算符: -a -o !
示列:
find $HOME \( -name a.out -o -name "*.o" \) -atime +7 -exec rm {} \;
find . -atime 0 -print
find / .name .profile -print
find . -perm 777 -a -mtime 7 -exec chmod 755 {} \;
file
more
less
tail (tail -f filename)
head
wc
read 用于shell编程
col
pg (SYSV)
11. 编辑器
vi
ed
joe
12. 文件内容查找
grep
egrep
正规表达式: . * ^ $ + ? []
strings
13. 任务调度
at
atq 列出队列中的任务
crontab
14. 存储,归纳及压缩
compress .Z
uncompress .Z
cpio
dd dd if=inputfile of=outputfile
dd if=boot.img of=/dev/fd0H1440
pack .z 30%-50%文本文件
pcat pact file.z
gzip .gz
gunzip
tar tar -[txc]vf targetfile [sourcefile]
tar -cvf target.tar sourcefilelist
tar -tvf target.tar [filename]
tar -xvf target.tar [filename]
GNU TAR:
tar -zcvf target.tar.gz sourcefilelist
tar -zxvf target.tar.gz [filelist]
tar -ztvf target.tar.gz [filelist]
zcat .Z
uuencode
uudecode
15. 其他命令
date
env
unix2dos (linux没有)
dos2unix
uname
uptime
free
time
top
16. 文本处理
cut
fmt 每行格式转化为72列,用于邮件格式化
fold 折行处理,一行到多行,一般为80列
join
paste
sort
tr
tr '\"' '' < file1
#!/bin/sh
for i in *
do
mv $i `echo $i |tr /[a-z]/[A-Z]/`
done
uniq 报告/删除文件中相同的复制行
sed 流编辑器
sed 's/96/tt/' student.txt
awk
awk '{print $1" "$2}' sourcefile
awk -f class.awk student.txt > linux-student.txt
文件class.awk内容如下:
#
#class.awk
#
BEGIN {printf "%-12s%s\n","班级","学号 姓名";
printf "-------------------------------------------\n\n"}
/[1-9]+\B*$/ {class=$0}
/^9[5-8]+/ {printf "%-12s%s\n", class,$0 | "sort"}
#Enf of class.awk
awk -f traffic.awk traffic.txt
文件traffic.awk内容如下:
#
#traffic.awk
#
{ if ( $2 < 10000 ) t_0 += $2;
if ( $2 > 10000 && $2 < 50000) t_10 += $2;
if ( $2 > 50000 && $2 < 100000) t_50 += $2;
if ( $2 > 100000) t_100 += $2;
total += $2 }
END {printf "t_0 = %dKB %5.2f\%\n",t_0,t0*100/total;
printf "t_10 = %dKB %5.2f\%\n",t_10,t10*100/total;
printf "t_50 = %dKB %5.2f\% \n",t_50,t_50*100/total;
printf "t_100 = %dKB %5.2f\%\n",t_100,t_100*100/total;
printf "Total = %dKB\n", total}
#End of traffic.awk
17. 网络配置命令及故障排除命令
17.1 ifconfig
Interface Config , 网卡配置命令, 相关文件:/proc/net/dev
详细使用说明: man ifconfig
示例:
#ifconfig
lo Link encap:Local Loopback
网卡标识 封装类型: 本地回环
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
IP地址:127.0.0.1 广播地址:127.255.255.255 子网掩码:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
已启动 接受广播 本地回环 正在运行 最大传输单元: 3584 路由距离向量:1
RX packets:718 errors:0 dropped:0 overruns:0 frame:0
已接受数据包:718
TX packets:718 errors:0 dropped:0 overruns:0 carrier:0
已发送数据包:718
collisions:0
碰撞:0
eth0 Link encap:Ethernet HWaddr 00:80:C8:4C:6A:D0
网卡标识 封装类型: Ethernet 硬件(MAC)地址: 00:80:C8:4C:6A:D0
inet addr:202.118.66.81 Bcast:202.118.66.255 Mask:255.255.255.0
IP地址:202.118.66.81 广播地址:202.118.66.255 子网掩码:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
已启动 接受广播 正在运行 多点广播 最大传输单元: 1500 路由距离向量:1
RX packets:13900 errors:0 dropped:0 overruns:0 frame:0
已接受数据包:13900
TX packets:5859 errors:0 dropped:0 overruns:0 carrier:0
已发送数据包:5859
collisions:0
碰撞:0
Interrupt:10 Base address:0xe400
中断(IRQ):10 端口地址: 0xe400
#ifconfig eth0 显示eth0的相关信息
#ifconfig -a 显示所有网络设备的配置信息
#ifconfig eth0 down Down掉eth0
#ifconfig eth0 202.118.66.81 broadcast 202.118.66.255 [up]
#ifconfig eth0 202.118.66.81 broadcast 202.118.66.255 netmask 255.255.255.0
#ifconfig eth0 up
17.2 route
路由表维护命令, 相关文件: /proc/net/route
$ /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
localnet * 255.255.255.0 U 0 0 49 eth0
192.168.1.0 * 255.255.255.0 U 0 0 655 eth1
192.168.2.0 * 255.255.255.0 U 0 0 498 eth2
192.168.3.0 * 255.255.255.0 U 0 0 825 eth3
127.0.0.0 * 255.0.0.0 U 0 0 13 lo
default olive.dlut.e. 0.0.0.0 UG 1 0 4834 eth0
#route add default gw 202.118.66.1
#route add default gw 202.118.66.1 eth0
#/sbin/route add -net 202.118.68.0 netmask 255.255.252.0 gw 202.118.66.16
#/sbin/rouet del default 202.118.66.1
#/sbin/route del -net 202.118.68.0 netmask 255.255.252.0 gw 202.118.66.16
17.3 netstat
显示主机当前路由表, 相关文件: /proc/net/route
netstat -rn
/home/hbwork[102]netstat -rn
Routing Table:
Destination Gateway Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
202.118.70.27 202.118.66.16 UGHD 0 1
202.118.69.254 202.118.66.16 UGHD 0 1
202.118.68.243 202.118.66.16 UGHD 0 1
202.118.70.21 202.118.66.16 UGHD 0 0
202.118.71.10 202.118.66.16 UGHD 0 1
202.118.71.204 202.118.66.16 UGHD 0 1
202.118.68.160 202.118.66.16 UGHD 0 1
202.199.128.52 202.118.66.254 UGHD 0 2
202.118.68.66 202.118.66.16 UGHD 0 1
202.118.69.69 202.118.66.16 UGHD 0 1
202.118.69.228 202.118.66.16 UGHD 0 1
202.118.71.68 202.118.66.16 UGHD 0 1
202.118.70.37 202.118.66.16 UGHD 0 1
202.118.66.0 202.118.66.18 U 3 12259 hme0
224.0.0.0 202.118.66.18 U 3 0 hme0
default 202.118.66.1 UG 0 70354
127.0.0.1 127.0.0.1 UH 0 41316 lo0
Destionation: 目标网络或主机
Gateway: 下一个路由,认为距离目标较近的路由的IP地址,在数据传送时将发往
这一IP地址.
Flags:
U Router is up, 目标可达
H Specific router,到特定主机的路由
G 此路由为其他路由进行间接访问到的,如果没有G标志则表明相应的
路由器或主机是直接连接在相应的路由器上的.
D 此路由是ICMP协议的路径重定向信息所建立的.
M 由ICMP之重定向信息所修改
REFS: 在此路由上现在正在使用的链接数,这些连接可能是由连续时间较长的ftp或
telnet任务, 每个使用tcp的服务或应用在执行时此列值均加1.
Use: 自TCP/IP启动以来通过此路由器的数据包量.
Interface: 网卡逻辑名,UNIX不同取名不同.
17.4 nslookup
Name Server Lookup, DNS服务器诊断工具
使用示列:
[hbwork@helius hbwork]$ nslookup www.dlut.e.cn
Server: cedrus.dlut.e.cn
Address: 202.118.66.6
Name: peony.dlut.e.cn
Address: 202.118.66.18
Aliases: www.dlut.e.cn
[hbwork@helius hbwork]$ nslookup
Default Server: cedrus.dlut.e.cn
Address: 202.118.66.6
> www.dlut.e.cn
Server: cedrus.dlut.e.cn
Address: 202.118.66.6
Name: peony.dlut.e.cn
Address: 202.118.66.18
Aliases: www.dlut.e.cn
> set q=ns #查询相应域的DNS服务器
> dlut.e.cn #输入要查询的域名
Server: cedrus.dlut.e.cn #默认域名服务器为cedrus.dlut.e.cn
Address: 202.118.66.6 #参考/etc/resolv.conf文件
dlut.e.cn nameserver = gingko.dlut.e.cn
dlut.e.cn nameserver = olive.dlut.e.cn
dlut.e.cn nameserver = cedrus.dlut.e.cn
gingko.dlut.e.cn internet address = 202.118.66.8
olive.dlut.e.cn internet address = 202.118.68.1
olive.dlut.e.cn internet address = 202.118.69.1
olive.dlut.e.cn internet address = 202.118.70.1
olive.dlut.e.cn internet address = 202.118.71.1
olive.dlut.e.cn internet address = 202.118.66.16
cedrus.dlut.e.cn internet address = 202.118.66.6
> dl.lnpta.net.cn #查询dl.lnpta.net.cn的域名服务器
Server: cedrus.dlut.e.cn
Address: 202.118.66.6
Non-authoritative answer:
dl.lnpta.net.cn nameserver = ns.lnpta.net.cn
Authoritative answers can be found from:
ns.lnpta.net.cn internet address = 202.96.64.68
> server ns.lnpta.net.cn
Default Server: ns.lnpta.net.cn
Address: 202.96.64.68
server: ns.lnpta.net.cn
Address: 202.96.64.68
Non-authoritative answer:
www.dlut.e.cn canonical name = peony.dlut.e.cn
> dlut.e.cn #查询域dlut.e.cn的MX记录
Server: ns.lnpta.net.cn
Address: 202.96.64.68
Non-authoritative answer:
dlut.e.cn preference = 1, mail exchanger = gingko.dlut.e.cn
Authoritative answers can be found from:
dlut.e.cn nameserver = gingko.dlut.e.cn
dlut.e.cn nameserver = CEDRUS.dlut.e.cn
dlut.e.cn nameserver = olive.dlut.e.cn
gingko.dlut.e.cn internet address = 202.118.66.8
CEDRUS.dlut.e.cn internet address = 202.118.66.6
olive.dlut.e.cn internet address = 202.118.71.1
olive.dlut.e.cn internet address = 202.118.66.16
olive.dlut.e.cn internet address = 202.118.68.1
olive.dlut.e.cn internet address = 202.118.69.1
olive.dlut.e.cn internet address = 202.118.70.1
> exit
17.5 ping
TCP/IP ICMP(Internet Control Message Protocol)诊断工具
ping [hostname|IpAddress]
Error Message: host unreachable
network unreachable
[hbwork@helius hbwork]$ ping 202.118.66.1
PING 202.118.66.1 (202.118.66.1): 56 data bytes
64 bytes from 202.118.66.1: icmp_seq=0 ttl=255 time=23.1 ms
64 bytes from 202.118.66.1: icmp_seq=1 ttl=255 time=2.1 ms
64 bytes from 202.118.66.1: icmp_seq=2 ttl=255 time=1.9 ms
--- 202.118.66.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 1.9/9.0/23.1 ms
17.6 hostname
显示或设置主机名
17.7 domainname
显示或设置主机域名
17.8 traceroute
Windows 95: tracert
traceroute hostname
traceroute destionation_ip_address
17.9 arp
显示或设置相应主机/ip地址的mac地址
相关文件: /proc/net/arp
cat /proc/net/arp
$arp hostname
$arp -a
$arp ip_address
显示或设置主机名需要root权限
#arp -s hostname eth_address [temp] [pub]
#arp -d hostname
#arp -d ip_address
#arp -f mac_ip_map_file 常用文件名为/etc/ether
㈥ 如何知道QQ的PWDHASH
找TX问 或者找一些做破解工作的工作室问
㈦ hibernate插入对象空指针 就插入Student对象会,其他不会; 46行是这个 -----> tx.commit(); 提交事务
Student对应的表主键不是自增吧,即创建表的sql语句不是这样写的吧:
create table student(
id int not null auto_increment
……
)
不是自增就要自己在程序中手动设置ID,否则是无法插入的
㈧ 以太国际空间谁知道怎么玩。EIS币怎么交易
现在我们大家都很关注关于以太坊方面的问题,那么关于以太币怎么交易?我想我们大家应该会很想了解一些内容,那么下面就让我们小编在这里就来为大家好好的介绍一下很多内容关于以太币怎么交易?以太坊的交易最直观解释:从外部账户发送到区块链上的另一个账户的消息和签名的数据包。
包含如下内容:
发送者的签名
接收的地址
转移的数字货币数量等内容
以太坊上的交易都是需要支付费用,和比特币以比特币来支付一定的交易费用不同,以太坊上固定了这个环节,那么这个间接理解是以太坊的一种安全防范错误,防止了大量的无意义的交易,保证一定的安全性,特别是智能合约的创建、执行、调用都需要消耗费用,那么也保证了整个系统的稳定性,防止了一些链上无意义的恶意行为。
交易手续费
以太坊的核心是EVM,以太坊虚拟机,那么在EVM中执行的字节码都是要支付费用。也就是经常看到的Gas、Gas limit、Gas Price这几个概念。
Gas:字面理解就是汽油,以太坊和日常的汽车一样需要Gas才能运行。Gas是一笔交易过程中计算消耗的基本单位。有一个列表可以直观看到在以太坊中操作的Gas消耗量:
操作Gas消耗具体内容
step1执行周期的默认费用。
stop0终止操作是免费的。
suicide0智能合约账户的内部数据存储空间,当合约账户调用suicide()方法时,该值将被置为null。
sha320加解密
sload20在固定的存储器中去获取
sstore100输入到固定的存储器中
balance20账户余额
create100创建合约
call20初始化一个只读调用
memory1扩充内存额外支付的费用
txdata5交易过程中数据或者编码的每一个字节的消耗
transaction500交易费用
contract creation53000homestead中目前从21000调整到53000
所以有些公司或者个人觉得区块链技术去中介化,不需要中心服务器,这种开发模式是比较便宜的,但是事实上区块链的开发不比之前的那些传统软件开发来的便宜。
Gas Price:字面理解汽油价格,这个就像你去加油站,95#汽油今天是什么价格。一个Gas Price就是单价,那么你的交易费用=Gas*Gas Price,然后以以太币来ether来支出。当然你觉得我不想支付费用,你可以设置Gas Price为0,但是选择权在矿工手中,矿工有权选择收纳交易和收取费用,那么最简单的想想很难让一个矿工去接收一个价格很低的交易吧。另外提一句,以太坊默认的Gas Price是1wei。
Gas Limit:字面理解就是Gas的限制,限制是必要的,没有限制就没有约束。这个Gas Limit是有两个意思的。首先针对单个交易,那么这个表示交易的发起者他愿意支付最多是多少Gas,这个交易发起者在发起交易的时候需要设置好。还有一个是针对区块的Gas Limit,一个单独的区块也有Gas的限制。
假设几个场景来说明Gas的使用:
用户设置Gas Limit,那么在交易过程中,如果你的实际消耗的Gas used
用户设置Gas Limit,那么交易过程中,如果你的实际消耗的Gas used > Gas Limit,那么矿工肯定发现你的Gas不足,这个交易就无法执行完成,这个之后会回滚到执行之前的状态,这个时候矿工会收取Gas Price*Gas Limit。
区块的Gas Limit,区块中有一个Gas上限,收纳的交易会出现不同的用户指定的Gas Limit。那么矿工就会根据区块限制的Gas Limit来选择,“合理”选择打包交易。
具体交易
以太坊上交易可以是简单的以太币的转移,同时也可以是智能合约的代码消息。列个表格看下交易的具体内容:
代码内容
from交易发起者的地址、不能为空,源头都没有不合理。
to交易接收者的地址(这个可以为空,空的时候就表示是一个合约的创建)
value转移的以太币数量
data数据字段。这个字段存在的时候表示的是,交易是一个创建或者是一个调用智能合约的交易
Gas Limit字面理解就是Gas的限制,限制是必要的,没有限制就没有约束。这个Gas Limit是有两个意思的。首先针对单个交易,那么这个表示交易的发起者他愿意支付最多是多少Gas,这个交易发起者在发起交易的时候需要设置好。还有一个是针对区块的Gas Limit,一个单独的区块也有Gas的限制。
Gas Price一个Gas Price就是单价,那么你的交易费用=Gas*Gas Price,然后以以太币来ether来支出。以太坊默认的Gas Price是1wei。
nonce用于区别用户发出交易的标识。
hash交易ID,是由上述的信息生成的一个hash值
r、s、v交易签名的三部分,交易发起者的私钥对hash签名生成。
交易分三种类型
转账:简单明了的以太坊上的以太币的转移,就和比特币类似,A向B转移一定数量的以太币。这种交易包含:交易发起者、接收者、value的数量,其余类似Gas Limit、hash、nonce都会默认生成。所以你会看到一段代码:
web3.eth.sendTransaction({ from: "交易发起者地址", to:“交易接收者地址”, value: 数量});
智能合约创建:创建智能合约就是把智能合约部署到区块链上,那么这个时候to是一个空的字段。data字段则是初始化合约的代码。所以看到代码:
web3.eth.sendTransaction({ from: "交易发起者地址", data: "contract binary code"});
智能合约执行:合约创建部署在区块链上,那么执行就是会加上to字段到要智能合约执行的地址,然后data字段来指定调用的方法和参数的传递,所以看到代码:
web3.eth.sendTransaction({ from: "交易发起者地址", to:“合约执行者地址”, data:“调用的方法和参数的传递”});
以上大致就是交易的类型。
交易的确认
和比特币一样,以太坊的交易需要后续区块确认后,节点同步后、才能确认。简单理解就是多挖出一些区块来,通过验证后这一笔交易才算确认,以太坊时常会出现拥堵的情况,所以有时候需要等待确认。
转账、合约交易流转
首先交易发起者A发起一笔转账交易,那么发送的格式如下:
代码具体内容
from交易发起者的地址
to交易接收者的地址
value转移的以太币数量
GasGas的量
Gas PriceGas的单价
data发送给接收者的消息
nonce交易编号
节点验证:以太坊网络中会有节点收到A发送出来的消息,那么会去检查这个消息格式时候有效,然后计算Gas Limit。这个时候回去验证A的以太坊余额,如果余额不足,那么就返回错误,不予处理。一旦A发送的消息通过了节点的验证,那么节点就会把这个交易放到交易存储池中。并广播到区块链网络。
矿工验证:那么写入区块链必须要矿工打包,矿工在接收到A发出的交易,会和其他交易一块打包,普通转账交易打包即可,那么合约调用的交易则需要在矿工本地的EVM上去执行调用的合约代码,代码执行过程中检查Gas的消耗。一旦Gas消耗完了,那么就回滚,如果Gas足够那么返回多余的Gas。并广播到区块链网络。
其余节点:重复节点验证步骤,然后合约也会在本地EVM上执行验证。通过验证后同步区块链。
首先还是发起者A发起一个创建智能合约的交易请求。格式如下:
代码具体内容
from交易发起者的地址
to0
value转移的以太币数量
GasGas的量
Gas PriceGas的单价
data合约代码
nonce交易编号
节点验证:
以太坊网络中会有节点收到A发送出来的消息,检查交易是否有效,格式是否正确,验证交易签名。计算Gas,确定下发起者的地址,然后查询A账户以太币的余额。如果余额不足,那么就返回错误,不予处理。一旦A发送的消息通过了节点的验证,那么节点就会把这个交易放到交易存储池中。并广播到区块链网络。
矿工验证:
矿工将交易打包,那么会根据交易费用和合约代码,来创建合约账户,在账户的空间中部署合约。这里说下合约地址(智能合约账户的地址是有发起者的地址和交易的随机数作为输入,然后通过加密算法生成)。交易确认后会把智能合约的地址返回给A。且广播到区块链网络。
其余节点:
重复节点验证步骤,验证区块,在节点的内存池中更新A的智能合约交易,同步区块链,且智能合约部署在自己本地的区块链中。