ethpersonal
1. Chainge技术沙龙(0414)-区块链技术的安全隐患
虚拟机设计
零钱整理
慢雾科技介绍
01| The Dao事件
以太坊第一个安全大事件
智能合约的取款
新建一个Bank,存入一部分钱,用Dao框架不停取钱。
取款-判断余额-取款操作框架-转空该账户下的所有钱。
简单的例子就是,你的银行卡有余额100万,你需要买一个10块钱的饮料,但是支付的过程有漏洞,所以你银行卡的所有钱都被转走。
一、外部调用
02| 以太坊黑色情人节
起源:第一转账时间是2.14
ETH节点统计
客户端、客户端版本、OS系统。整个系统的庞杂
蜜罐检测 (部署陷阱能检测出黑客的点来)
net_version
判断是主网还是测试网,只攻击主网
3000+主网节点完全暴露
eth_accounts
获取钱包账号,涉及钱包账号
eth_getBanlance
获取有多少钱,被盗46000+ETH
why?
unlockAccount 函数介绍
该函数将使用密码从本地的keystore 里提取private key 并存储在内存中,函数第三个参数ration 表示解密后private key 在内存中保存默认是300 秒; 如果设置为0,则表的时间,示永久存留在内存,直至Geth/Parity 退出。
详见:
https://github.com/ethereumgethereum/wiki/Management-APIs#personal_unlockaccount
节点存用户的keystore信息(严重危险)
eth_getBlockByNumber
墨子扫描引擎,扫描有问题的节点,慢雾的以太坊安全事件的披露
被盗ETH,市值,被盗钱包数
具体内容可以查看慢雾发布的 以太坊黑色情人节专题
生态相关
ETH:矿池、钱包、web3、smart contract、dapp
BTC:矿池、钱包、Lightning Network
BTC RPC
防御建议
管理数十万用户安全的接近百万的比特币
华人世界唯一被bitcoin.org网站展示的钱包
比特派多种区块链资产(BTC、ETH、Token、分叉)
冷热结合,确保安全
比特派-热钱包
比特护盾-冷钱包/硬件钱包
区块链安全事件
私钥决定了区块链资产的所有权,丢了私钥也就相当于丢了一切。私钥就是一个随机数,这个随机数的概率空间很大(256 位,即2^256)
钱包=生态入口
需要在安全的同时做到尽可能的开放
玩法的开放,技术的开放,通用的技术接口,生态的开放,把自己的资源进行导入。合作伙伴计划:技术咨询、区块链技术支持、开放平台、入口支持、生态支持、海外市场合作。帮助伙伴实现区块链转型或区块链项目孵化,安全、便捷实现真正落地的区块链应用场景。
联系方式 [email protected]
用户风控系统,数百万的数字货币用户。
最大可能保持我们的数字资产
骗子故事:抢数字货币份额,钱没到账,冒充官方,交出助记词
恶意钱包地址库
诈骗钱包、黑客钱包、羊毛党钱包
恶意网站库
钓鱼网站、空投网站、交易所、众筹
风险合约库
重名币、空格币、风险合约
安全事件库
历史安全事件提醒
最新事件提醒
盗币风险监控
安全意识教育
可能出现被盗的情况
游戏即资产,稀缺资源,成为游戏运营者。最后大BOSS死于暴露了自己的密钥。
通过社工(社会工程学)【欺骗的艺术】黑客攻击手法,虚拟景象做出错误判断让自己陷入危机。
人始终是系统中最薄弱的环节,币安背锅的黑客事件。大客户泄露自己的账户,调用API接口,自动交易。虽然没丢币但是黑客在期货市场盈利。
关于安全钱包的帖子(来自小白愤怒控诉,实际没有理解整个机制):
1、我没私钥和交易密码,东西都在你们那我不知道安全在哪里
2、密语算个毛,你告诉我拿着你们的密语能做什么。
汽车和自行车事件,出了问题之后,弱势的一方被原谅。负责的是更大的一方。平台替没有安全意识的用户背锅。
对于大部分用户来说,交易所的安全性比普通用户自己管理的安全性要高,用户的安全意识没有提高,交给交易所帮助、协助你来管理你的钱包提示很多风险操作。
为什么要随机生成256位的密钥,为什么不能用户自己去设置,如果自己设置会处于一个集中的区域,随机值不够,私钥生成时就处于危险的状态。
自己的安全认识不够,所以自己造成的损失,先怼交易所先怼钱包。先想到得是你们的问题和漏洞造成的,不是我的操作失误和密钥泄露造成的。
币派做的是大神和小白的交流之间的翻译,做画漫画,写段子的逗比。
币小宝防骗指南漫画,贡献题材和内容。
2. 搭建geth私有链和联盟链网络
操作系统:linux或Mac OS
安装geth执行以下命令:
linux:sudo apt-get install ethereum
Mac OS:brew install ethereum
直接创建两个geth的工作目录,用于之后的组建联盟链的使用:
mkdir eth-private1
mkdir eth-private2
首先 cd eth-private1 进入节点1的工作目录该目录下执行下面命令
geth --datadir data --nodiscover console (data是之后geth节点的数据目录,可自行修改)
使用geth自带的工具 puppeth 用于生成创世区块,过程如下:
puppeth
+-----------------------------------------------------------+
| Welcome to puppeth, your Ethereum private network manager |
| |
| This tool lets you create a new Ethereum network down to |
| the genesis block, bootnodes, miners and ethstats servers |
| without the hassle that it would normally entail. |
| |
| Puppeth uses SSH to dial in to remote servers, and builds |
| its network components out of Docker containers using the |
| docker-compose toolset. |
+-----------------------------------------------------------+
Please specify a network name to administer (no spaces, please)
输入私链名称后,会出现二级菜单,现在2:配置一个新的创世快
What would you like to do? (default = stats)
再次出现二级菜单,让你选择共识机制(这里采用poa共识)
Which consensus engine to use? (default = clique)
Ethash - proof-of-work(PoW) :工作量证明,通过算力达成共识 (以太坊就是使用这种方式)
Clique - proof-of-authority(PoA): 权威证明、通过预先设定的权威节点来负责达成共识 (不消耗算力,一般用于私有链测试开发)
如果选择Pow的共识方法,直接输入1,回车即可。
如果选择PoA的共识方法,输入2后会提示让你选择处快的间隔时间,一般测试开发使用可以设置相对的将处快时间设置较少5秒即可,然后会让你选择哪个账户来作为权威生成区块(至少有一个,输入刚才创建的账户,若只是单节点就输入那个节点目录生成的地址,若想组建联盟链就填写生成的两个地址)
How many seconds should blocks take? (default = 15)
选择好共识机制后会让你指定给那些账号初始化ether(至少有一个),输入我们刚才创建的账户地址回车即可。
Which accounts should be pre-funded? (advisable at least one)
选择输入私有链的网络ID,任意数字即可(不能为1,1是公链),也可以不输入会给定一个随机数作为私有链的网络ID
Specify your chain/network ID if you want an explicit one (default = random)
选择导出创世区块配置文件
选择导出创世区块配置文件的保存路径,可以保存到当前目录,直接按回车即可
Which file to save the genesis into? (default = my-private-chain.json)
INFO [02-09|14:56:33] Exported existing genesis block
这样就完成了创世区块文件的配置了,直接退出puppeth即可。
输入命令 geth --datadir data init private.json 其中data自己制定,private.json就是刚才生成的创世区块
若出现如图错误:
输入命令:
geth --datadir data --syncmode full --port 2001 --networkid 1234 --rpc --rpcport "8545" --rpccorsdomain "*" --rpcaddr "0.0.0.0" --rpcapi "db,eth,net,web3,personal,admin,clique" --nodiscover console 进入控制台
--datadir data:节点的数据目录
--syncmode full:块同步的方式(若只是单节点可不填)
--port 2001: 网卡监听端口
--networkid 1234:网络标识符
--rpc:开启rpc服务
--rpcport "8545":rpc服务的端口
--rpccorsdomain "*":允许跨域请求的域名列表(逗号分隔)(浏览器强制)
--rpcaddr "0.0.0.0" :HTTP-RPC服务器接口地址(默认值:“localhost”)
--rpcapi "db,eth,net,web3,personal,admin,clique":基于HTTP-RPC接口提供的API(私有链可以任意开发,公有链需要谨慎)
--nodiscover:不允许节点自动加入
若想搭建联盟链,必须保证创世区块一致,进入到刚才创建的eth-private2的目录
将之前生成的创世区块拷贝过来,初始化创世区块,然后使用启动命令启动分别启动两个节点,进入控制台,使用 admin.nodeInfo 命令获取节点的信息
总结:
两个服务器部署两个节点是可以联通的,但是只能使用两个节点对应的地址进行挖矿,所以只能是两个节点对应两个地址进行挖矿,使用poa共识,当一个节点挂掉,挖矿停止,因为poa共识挖矿必须超过50%的节点进行钱增,现在只是两个节点,挂掉一个节点挖矿就会停止等待另一个节点的确认,停掉的节点可以通过正常运作的节点信息重新连接到网络中。
问题:
同步块有可能报错情况:
1:Synchronisation failed "retrieved hash chain is invalid" 解决目前找到的方法是removedb 数据目录 ,重新init创世区块
2:内存溢出初步确认为开启rpc服务造成的,有可能服务器恶意被黑,暴力破解密码,占有内存,解决,将服务器的ip设置一条防火墙
若存在问题可给本人留言或访问本人的github: https://github.com/qi-shuo/geth-document 记录了一些本人搭建使用的命令
3. 如何创建私链
创建创世配置文件:
首先需要创建一个“创世”json配置文件,此文件描述了创世区块的一些参数。下面就是文件中的内容:
{
"coinbase": "",
"config": {
"homesteadBlock": 5
},
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x2FEFD8",
"mixhash": "",
"nonce": "0x0",
"parentHash": "000000000000000000000000",
"timestamp": "0x00",
"alloc": {
"":
{
"balance":""
}
}
}12345678910111213141516171819
将上面这段代码复制到一个文本文件里并起名为genesis.json
创世!:
为了不和主链的数据冲突,这里建议建立自己的私链数据文件夹。在我的电脑上在E盘建了一个EthDBSpace作为以太坊实验工作区,并在里面创建了一个PrivChain文件夹作为我的第一个私链的数据存放文件夹
这里为了方便管理将genesis.json放在了EthDBSpace文件夹下
打开Windows命令行
键入如下命令
geth --datadir "E:\EthDBSpace\PrivChain" init "E:\EthDBSpace\genesis.json"1
–datadir 选项用来指定我们私链的数据目录。在我的电脑上是E:\EthDBSpace\PrivChain
init 命令为创世命令,后面紧跟着我们的创世配置文件路径。
点击回车后执行结果如下
此时创世完成!
创建账户:
为了在私链上做实验,我们还需要在私链上建立自己的账户
Windows命令行键入
geth --datadir "E:\EthDBSpace\PrivChain" console1
我们由于已经创世成功所以第二次进入客户端时我们不用再次指定genesis.json文件路径,而是直接–datadir 指明私链数据路径即可。
console命令用来开启geth的命令行。
点击回车后,客户端会先经过一阵初始化。在命令提示符出现后,说明已经进入geth console
在geth命令行中键入
personal.newAccount('Your Password')1
personal.newAccount 函数用来创建账户,其中参数为账户密码
点击回车后会出现
账户创建成功后会在命令下方以绿色字符列明创建账户的地址,也即账户的公钥
我们可以先查下账户余额,在geth命令行中键入:
my=eth.accounts[0]
eth.getBalance(my)12
my=eth.accounts[0],此句的目的是将我们刚创建的账户地址赋值给my变量。这样可以简化后续账户地址输入。其中eth.accounts记录了本机上所有账户地址。由于我们第一次创建账户,所以目前电脑上只有一个账户。所以这里我们用eth.accounts[0]提取第一个账户地址。eth.getBalance函数用来获得账户余额,参数填入账户地址。这里的my变量记录的就是第一个账户的地址。
希望我的回答可以帮到您哦
4. 英文感谢信
在日常生活和工作中,需要使用感谢信的场合越来越多,我们通常在对别人表示感谢时会用到感谢信。怎么写感谢信才能避免踩雷呢?以下是我收集整理的英文感谢信6篇,仅供参考,欢迎大家阅读。
英文感谢信 篇1
Dea Pof。 Hethwell,
亲爱的Hethwell教授:
Many thanks fo you kind hospitality and the hono you showed me ing ou delegation’s ecent visit to you univesity。 It was nice of you to intoce me to so many famous pofessos and celebated scholas at you univesity。 We had a safe and sound tip home。 Now we have esumed ou wok。
十分感谢你的盛情款待,以及在你在我们的代表团最近访问你的大学时对我们的尊敬。多谢你把我介绍给那么多您大学里的`知名教授和著名的学者。我们已经平安愉悦得回到家了。此刻,我们继续我们的工作了。
Meanwhile, I hope you will someday pay a shot visit to ou univesity and give us some lectues on “Moden Westen Economics”。
同时,我期望有一天你能够对我校进行一个短暂的访问并给我们开一些关于“现代西方经济学”的讲座。
Please have no hesitation in witing to me if you want me to do something fo you in China。
如果你要我为你在中国做些事情,请不要犹豫,写信给我。
Best wishes,
Li Dong
最好的祝愿
李东
英文感谢信 篇2
Dear _______ ,
① I am now writing these few lines to express my sincere thanks for _______(感谢事由). ② I'd like you to know how much your _______(帮助或款待)meant to me . ③ You have a positive genius for _______(对收信人某一方面的赞美 ). ④ I not only enjoyed _______(对方提供的帮助一), but also _______(对方提供的帮助二). ⑤ I shall ever remember _______(这段时期)as one of the most _______(美好时光)in my life .
⑥ I hope to have the opportunity of reciprocating . ⑦ I will feel very honored and pleased if you _______(表达自己回报的心愿). ⑧ I am looking forward to seeing you next time .
⑨ I repeat my thanks again for your _______(帮助或款待). ⑩ Please give my kind regards to your _______(家人或朋友).
Yours truly ,
Li Ming
英文感谢信 篇3
i am very grateful for your unselfish work. thank you so much to spare time to help me learning english. there is an obvious effect as my english performance has been improved a lot. It is you that give me so much help to make such a english idiot like me make this achievement. All appreciations are beyond my words.
thank you so much, my dearest friend.
best regards
sincerely
英文感谢信 篇4
Dear every leader: "* * * *"
I to your company with a grateful heart to this letter as a token of his appreciation, in the middle of September, 20xx, e to personal negligence, I accidentally lost handbag from your company will take a layer of the ladies' room. Because is in a hurry when they leave did not notice the handbag has lost, the second day when shopping for only to find that lost handbag. Was extremely anxious, because there is id and cash and other items, lost and inconvenience to daily life, so I immediately return to your company to find lost things, but in the case of multiple about nothing returned to the residence of xianyang in shaanxi province.
The unexpected is, at the beginning of October I received from your company staff liu sent by registered mail, the claim to your company an employee finds himself lost handbag, will items returned to him and your company is responsible for processing. See the letter I feel very excited, when is an understatement! Suddenly feel the share of the sincere and enthusiasm from the capital Beijing, was four word roaming in the heart. But because I am not in Beijing, then trust friend to receive and repeatedly replacement must represent me to your company and the staff said the most sincere thanks to the credit. And friends signaled in cash to thank for credit, but were liu declined.
I am touched by the spirit, what kind of company, what kind of enterprise culture, how the construction concept and humanistic idea, cultivate such employees. To this, I express heartfelt gratitude, I with the most sincere thanks to converge into words, send you this letter to your company, thanks to man of noble character, thanks to the good people!
英文感谢信 篇5
I am writing to extend my sincere gratitude for...I am writing to expre my thanks for...
I am writing to show my sincere appreciation for...I would like to convey
in this letter my heartfelt thanks to you for...
I feel deeply indebted to you and I really don’t know how to thank you enough for your help.
I must thank you again for your generous help.
I am most grateful for your selfle donation.
My true gratitude is beyond the word’s de ion.
I feel most obliged to thank you once more.
Please accept my gratitude, now and always.
英文感谢信 篇6
Dear cjassmates
thanks for all you help I didn't know the schoom rules very well.Lucy and lily_______________
November 29, 20xx
Tianjin, China
5. 以太坊钱包转账实战记录
最近项目中,要求给客户退款。 虽然之前我们写的服务封装了以太坊钱包转账的诸多细节,可以很方便的转账,但考虑再三,觉得最安全的方式还是用钱包本身的命令来转账。话不多说,这里记录下用以太坊钱包转账的步骤:
1. 首先网络搜索了下,网上此类的文章还不少。看了一圈后,觉得最好的还是这篇: https://blog.csdn.net/DDFFR/article/details/53673650 geth账户管理转账。
2.开始打开自己的以太坊钱包。查看钱包各个账户的余额。命令:eth.getBalance('0xaddress')
3. 开始转账步骤:
3.1) 解锁账户。命令:personal.unlockAccount("0xaddress123456789",“123456”)。 第一个参数:账户,第二个参数:解锁密码。就是创建这个账户地址时的密码。 其实还有第三个参数,是时间,表示解锁多久。如60,就写0x3c。可以不写,默认是300秒,就是5分钟;
3.2)计算fee:因为想把账户里的钱都退回去,所以要计算一个合理的fee,fee的计算公式:
fee <= gasPrice * gasLimit,对于普通的ETH交易,则gasLimit=21000即可,这个值可看区块浏览器的交易,一般都是这个值。而gasPrice则需要自己确定,这个是浮动的。获取方式:通过钱包的:
eth.gasPrice 来获取钱包本身推荐的矿工费。也可自己给一个值。但记住,给太低就没人打包了;
而对于gasLimit,钱包的值各不相同。如果不在乎手续费的话,可以用后面提到了的转账命令,给自己的账户发送一个0eth的转账,来获取本钱包的gaslimit参数。
3.3)计算实际款额度:
amout = 账户的余额-fee
3.4)转账命令:
有几个方式:
gasprice/gaslimit由钱包本身指定: eth.sendTransaction({from: '0xfromaddress', to: '0xtoaddress', value: web3.toWei(1, "ether")})
eth.sendTransaction({from: '0xfromaddress', to: '0xtoaddress', value: web3.toWei(0, "ether")})//通过这个可以获取钱包本身提供的 gasLimit默认参数。
自己指定gasprice/gaslimit:eth.sendTransaction({from: '0xfromaddress', to: '0xtoaddress', gasPrice: web3.toWei(30, 'gwei'), gas:21000, value: web3.toWei(1, "ether")})
这里用到了web3.toWei()函数,这个函数表示将第一个数字参数变成最小以太坊单位Wei表示的一个数字。第二个参数表示这个参数的单位。可以是1Gwei = 10^9 Wei,1 ether=10^18 Wei.
如果出现错误,根据提示修改参数。如果成功,则返回一个交易id。根据这个id到浏览器上查看交易状态即可。
上面步骤要在解锁时间范围内完成,要不就提示账户被锁定的信息。感觉以太坊这点做得还是挺好,挺安全的。
在做上面步骤时,这里还遇到了一个坑,就是有个服务会扫描钱包账户,进行资金归集。对此,为了操作不被打断。必须先停止对这个钱包操作的所有服务,否则会中断转账流程,引起不必要的安全隐患。所以切记:转账前,保证只有你自己在操作钱包;转账前,保证只有你自己在操作钱包;转账前,保证只有你自己在操作钱包;
6. web3.eth.accounts 和 web3.eth.personal 创建account的区别
web3.js 提供了两个packages用于创建账号,签署交易和执行一些与账号相关的操作。“web3.eth.accounts.create” 和 “web3.eth.personal.newAccount”。 应该使用哪一个? 哪一个更安全?
确切地说,两者都是安全的,但是必须在正确的环境中使用。 在本地节点上执行任何的操作,应该使用web3.eth.accounts,这意味着本地桌面钱包(如Mist,Ethereum Wallet)会使用web3.eth.accounts创建帐户,保存私钥,签署交易等操作。 因此,由于操作是在本地执行的,所以私钥不会被发送到网络上的某个其他节点,所以它们特别安全。 这就是为什么桌面钱包(如Mist,Ethereum Wallet)需要将整个区块链同步到本地系统的原因,并且在登出之前不需要登录,因为您的帐户信息暂时存储在本地,除非整个数据被从应用程序文件夹中清除。
另一方面,如果您想与另一个节点的帐户进行交互,则使用web3.eth.personal,这意味着您发送的任何密码将被其他节点完全使用,这就是为什么web3.eth.personal不用于创建account或保存私钥,而且仅用于使用节点本身。 另外,让我们考虑一下像steam.it这样的应用程序必须在用户投票时发送tokens给用户的情况, 所需要做的是,我需要与具有大量steam tokens 的节点帐户进行交互,并且我必须将它们转移到用户公共地址。 在这种情况下,我不会创建新地址或钱包,而只是使用服务器上已创建的帐户来传输tokens。
7. web3.js如何新建以太坊账户
推荐提问的同学去看看这个完整的区块链新手入门的以太坊DApp开发教程,包括node.js、web3.js、solidity、geth、turffle都会涉及到,应该有帮助:
以太坊DApp入门实战教程
8. Geth实现以太账户之间转账
1、打开控制台
F:\Geth>geth --datadir "data" console
2、查看目前所拥有的账户列表
> eth.accounts
[""]
3、新建账户
> personal.newAccount('123456')
""
4、查看目前所拥有的账户列表
> eth.accounts
["", "
efed9a8240"]
5、查看账户余额
> eth.getBalance(eth.accounts[0])
665000000000000000000
> eth.getBalance(eth.accounts[1])
0
6、定义变量
> var acc1=eth.accounts[0]
undefined
> acc1
""
> var acc2=eth.accounts[1]
undefined
> acc2
""
7、转账
> eth.sendTransaction({from: acc1 , to: acc2, value: web3.toWei(10,"ether")})
Error: authentication needed: password or unlock
at web3.js:3143:20
at web3.js:6347:15
at web3.js:5081:36
at <anonymous>:1:1
(账户被锁报错)
8、解锁账户
> personal.unlockAccount(acc1,"123456")
true
9、转账
> eth.sendTransaction({from: acc1 , to: acc2, value: web3.toWei(10,"ether")})
INFO [11-14|14:34:24.526] Setting new local account address=0xF4f
INFO [11-14|14:34:24.551] Submitted transaction fullhash=0x98
recipient=0x1DfA2
"0x98"
10、查看账户余额
> eth.getBalance(acc1)
665000000000000000000
> eth.getBalance(acc2)
0
11、挖矿
>miner.start(1);admin.sleepBlocks(20);miner.stop();
12、挖矿结束查看账户余额
> eth.getBalance(acc2)
10000000000000000000
(欢迎打赏,一分也是爱)
9. 关于哈利波特的简介、演员资料。
1.阿不思·邓布利多:阿不思是拉丁文中白色的意思,因为邓布利是与黑魔头伏地魔对立的白魔法师。邓布利多根据罗琳自己说是英文的另一种写法。
2.西弗勒斯·斯内普:西弗勒斯在拉丁文中是严厉的意思,和斯内普的性格蛮相符的。斯内普在英文中与蛇这个词只差一个字母!难怪斯内普是斯莱特林的院长。
3.米勒娃·麦格:通常的翻译是密涅瓦,罗马神话中的智慧女神,也就是希腊神话中的女神雅典娜。
4.赫敏:从发音上就可以判断是从希腊奥林匹斯山上著名的众神使者赫尔墨斯的大名中化出来的。当今哲学领域流行的“解释学”原来也脱胎于赫尔墨斯之名.难怪赫敏在小说中以机敏和智慧著称,许多难解的哑谜一经她手即可迎刃而解。
5.莱姆斯·卢平:卢平来自于拉丁文词根LUP,即狼的意思-LUPINE是“像狼一样的人”,而LUPUS是"豺狼座".据说法国诺曼底地区的居民有时就把狼人叫做“LUPIN”!莱姆斯就更有趣了,这是罗马传说中被母狼喂养过的双生子之一的名字,可爱的小狼崽子!
6.小天狼星布莱克:SIRIUS当然就是天狼星,而布莱克是“黑色”。他变身这之后就是一只黑色的大狗。
7.小矮星彼得:彼得这个名字太普通了,似乎没什么特殊意义。小矮星是“长的很小”的意思,这个名字还可以拆开成为PET I GREW,意思差不多是“我变成了宠物”!
8.阿格斯·费尔奇:费尔齐是英文动词“偷”的意思,而阿格斯则是希腊神话中一百只眼睛的巨怪。
9.海格:据罗琳的说法,HAGRID是古英语中的单词,是“很糟糕的夜晚”或“睡不好觉的晚上”。
10.阿拉斯托·穆迪:ALASTOR是希腊神话中掌管复仇的魔鬼,而穆迪在在英文中则是情绪多变的意思。
11.宾斯教授:BINNS发音很接近BEEN,在英文中是动词BE的过去分词形式。这位教授已经是鬼魂,也的确是过去式了!
12.汤姆·里德尔:RIDDLE是英文“谜语”的意思,一看到这个名字就知道罗琳要玩文字游戏了。
13.伏地魔VOLDEMORT是来源于法语VOLE DE MORT,即“死亡的飞翔”或“飞离死亡”。难怪老伏同志整天想着长生不老。
14.达力:DUDLEY是从英国俚语DUD变化而来,意思是很无聊的人。
15.佩妮姨妈:PETUNIA是牵牛花的意思,而她的妹妹。哈利的妈妈莉莉的名字则是百合花的意思。牵牛花象征愤怒和憎恨,而百合象征纯洁。
16.马尔福:MALFOY是由法语MAL FOI变化而来,意思是不好的信仰。这一家人都是食死徒,全是信仰黑魔法。而德拉科。马尔福:DRACO是拉丁文中龙的意思,而龙在西方是和撒旦联系在一起的。德拉科也是古雅典一位极其残暴的立法官的名字。
17.卢修斯.马尔福:LUCIUS和LUCIFER很接,和德拉科一样。卢修斯也是古雅典一位很残暴的立法官名字。
18.纳西莎.马尔福:NARCISSA来源于希腊神话中的人物,就是那个有自恋情结,爱上自己在水中的影子的年轻人。
19.路威(海格的三头大狗):(fluffy)意思是“毛茸茸的”。
20.海德薇:是12世纪德国女圣徒的名字。
21.格兰芬多:GRYFFINDOR的名字来源于法语GRYFFIND’OR,意为金色的格兰芬。格兰芬是希腊神话中一种半狮半鹰的生物,基督教后来常用它作为耶稣的象征,因为它代表对大地(狮子)和天空(鹰)的控制。
22.斯莱特林:SLYTHERIN是从英文SLITHERING变化而来,这个词的意思是蜿蜒地滑,常用来形容蛇。斯莱特林的象征就是蛇,银色的象征!
23.拉文克劳:RAVENCLAW,直译就是渡鸦的脚爪。拉文克劳学院的象征就是老鹰。
24.赫奇帕奇:HUFFLEPUFF,源于英文HUFF和PUFF。两个词都和吹气有关,不知有何联系。赫奇帕奇学院的象征是Badger(獾) 。
25.麻瓜:MUGGLE是从英语俚语MUG变化而来,意思是傻瓜。
人名、魔法、物品、游戏的中英对照与解释
人物名字中英对照:
哈利 波特 Harry James Potter
罗恩 韦斯莱 Ron Billius Weasley
赫敏 格兰杰 Hermione Granger
阿不思 邓不利多 Albus Dumbledore
吉德罗 洛哈特 Gibleroy Lockhart
米勒娃 麦格 Minerva Mcgonagall
西弗勒斯 斯内普 Severus Snape
莱姆斯 卢平 Remus John Lupin
多比 Dobby
闪闪 Winky
伏地魔 Voldemort
汤姆 里德尔 Tom Riddle
鲁伯 海格 Rubeus Hagrid
奇洛 Professor Quirrel
斯普劳特 Professor Sprout
霍琦夫人 Madam Hooch
特里劳妮 Porfessor Trelawney
小天狼星 布莱克 Sirius Black
雷古勒斯 布莱克 Regulus Arcturus Black
小矮星 彼得 Peter Pettigrew
弗立维 Professor Flitwick
塞德里克 迪戈里 Cedric Diggory
威克多尔 克鲁姆 Viktor Krum
费尔奇 Filch
芙蓉 德拉库尔 Fleur Delacour
疯眼汉穆迪 Mad-eye Moody(阿拉斯托.穆迪 Alastor Moody)
巴蒂 克劳奇 Baty Crouch
卢多 巴格曼 Ludo Bagman
康奈利 福吉 Cornelius Fudge
比尔 韦斯莱 Bill Weasley
查理 韦斯莱 Charlie Weasley
弗雷德 韦斯莱 Fred Weasley
乔治 韦斯莱 George Weasley
金妮 韦斯莱 Ginny Weasley
珀西 韦斯莱 Percy Weasley
亚瑟 韦斯莱 Aurthor Weasley
莫丽 韦斯莱 Molly Weasley
弗农 德斯礼 Vernon Dursley
佩妮 德斯礼 Petunia Dursley
达力 德斯礼 Dudley Dursley
秋张 Cho Chang
拉文德 布朗 Lavender Brown
帕瓦蒂 佩蒂尔 Parvati Patil
德拉科 马尔福 Draco Malfoy
伊戈尔 卡卡洛夫 Igor Karkaroff
马克西姆夫人 Madam Maxime
帕德玛 佩蒂尔 Padma Patil
奥利弗 伍德 Oliver Wood
高尔 Goyle
文森特 Vincent Crabbe
庞弗雷夫人 Madam Pomfrey
李 乔丹 Lee Jordan
安吉利娜 约翰逊 Angelina Johnson
西莫 斐尼甘 Seamus Finnigan
迪安 托马斯 Dean Thomas
纳威 隆巴顿 Neville Longbottom
厄尼 麦克米兰 Ernie Mcmillan
科林 克里维 Colin Creevey
丹尼斯 克里维 Dennis Creevey
詹姆 波特(哈利 波特之父) James Potter
莉莉 波特 (哈利 波特之母)Lily Potter(莉莉 伊万丝 Lily Evans)
凯蒂 贝尔 Katie Bell
佩内洛 克里瓦特 Penelop Clearwater
艾丽娅 斯平内特 Alicia SpinnetProfessor Binns
平斯夫人 Madam Pince
奥利凡德 Mr Ollivander
摩金夫人 Madam Malkin
尼可 勒梅 Nicolas Flamel
皮皮鬼 Peeves
胖修士 Fat Friar
哭泣的桃金娘 Moaning Murtle
血人巴罗 (斯莱特林的幽灵)Bloody Baron
差点没头的尼克 (格兰芬多的幽灵)Nearly Headless Nick
丽塔 斯基特 Rita Skeeter
辛尼斯塔教授 Professor Sinistra
格兰普兰教授 Professor Grubbly_plank
潘西 帕金森 Pansy Parkinson
伯莎 乔金斯 Bertha Jorkins
罗杰 戴维斯 Roger Davis
戈德里克 格兰芬多 Godric Gryffindor
赫尔加 赫奇帕奇 Helga Hufflepuff
罗伊纳 拉文克劳 Rowena Ravenclaw
萨拉查 斯莱特林 Salazar Slytherin
月亮脸 (莱姆斯 卢平) Moony
尖头叉子 (詹姆 波特)Prongs
大脚板 (小天狼星 布莱克) Padfoot
虫尾巴 (小矮星 彼得) Wormtail
巴克比克 Buckbeak
牙牙 Fang
诺伯 Norbert
路威 Fluffy
阿拉戈克 Aragog
克鲁克山 Crookshanks
朱薇琼 Pigwidgeon
斑斑 Scabbers
海德薇 Hedwig
汉娜 艾博 Hannah Abbott
米里森 伯斯德 Millicent Bulstrode
贾斯廷 芬列里 Justin Finch-Fletchley
福克斯 Fawkes
拉环 Griphook
马库斯 弗林特 Markus Flint
卢修斯 马尔福 Lucius Malfoy
纳西莎 马尔福 Narcirra Malfoy
罗南 Ronan
贝恩 Bane
费伦泽 Firenze
卡多根爵士 Sir Cadogan
阿莫斯 迪戈里 Amos Diggory
尼法朵拉 唐克斯 Nymphadora Tonks
鲁弗斯 斯克林杰 Rufus Scrimgeour
贝拉特里克斯 莱斯特兰奇 Bellatrix Lestrange(贝拉特里克斯 布莱克 Bellatrix Black)
魔法物件中英对照:
(Boggart) ——博格特,像一个封闭的空间,形状会变。它会变成你最害怕的东西。
(Broomstick)扫帚
(Cauldron)坩埚
(Cleansweep 7)——横扫7星,慢型号的扫帚
(Cloak/cape )斗篷、披风
(Curse/spell/charm )魔咒
(Daily Prophet)——预言家日报,魔法世界的报纸
(Firebolt)——火弩箭,最新款,最好的扫帚
(Floo Powder)——飞路粉,用来在壁炉迅速旅行
(Horcrux)魂器
(Hogwarts Express)霍格沃茨特快列车
(Howler)——吼叫信-人们生气是常用的信。
(Invisibility cloak)隐身衣
(Knight Bus)——骑士公共汽车-你最不想做的公共汽车。
(Magic Wands)魔杖
(Marauder's Map)——活点地图
(Nimbus 2000)光轮2000,较新款的飞天扫帚
(Omniocular)魁地奇望远镜
(Parchment)羊皮纸
(Pensieve)——冥想盆
(Phial)(装液体的) 药瓶
(Philosopher’s Stone)魔法石
(Pocket Sneakoscope)窥镜,有不可信任的人接近,它会发光打转。
(Portkey)门钥匙
(Quill)羽毛笔
(Robe) 长袍
(Scales)天平
(Silver Arrow)银箭,早些款式的飞天扫帚
(Sorting hat)——分院帽
(the Hand of Glory)光荣之手
(the Mirror of Erised)厄里斯魔镜
(the Quibbler)唱唱反调
(Ton-Tongue Toffees)肥舌太妃糖
(Time Turner)时间转换器
(Vanishing Cabinet)消失柜,把人从一个地方传送到另一个地方
(Wizarding Wireless Network) 飞路网
(Wand)魔法杖
魔法中英对照:
(Alchemy)炼金术
(Animagi)阿尼玛格斯,变形为动物的魔法
(Apparating)幻影移/显形
(Avada Kedavra)阿瓦达索命,非法的黑魔咒。
(Cruciatus Curse)钻心咒,非法的黑魔咒。 (出自ABRACADABRA)
(Currency)钻心咒
(Dark Magic)黑魔法
(Dark Mark)黑魔标记,空中的骷髅头,在某人被杀时使用
(Disapparate)幻影移形
(Divination)占卜
(Fidelius Charm)赤胆忠心魔咒
(Four Point Spell)定向咒,使得魔杖尖端指北
(Impediment Curse)障碍咒,减缓阻止侵犯者。
(Imperious Curse)夺魂咒
(Leprechaun Gold)消失数小时
(Occlumency)大脑封闭术
(Parseltongue)蛇佬腔
(Patronus)守护神,打击摄魂怪
(Polyjuice Potion)复方汤剂,可以把一个人变为另一个人模样的汤剂
(Rector Curse)粉碎咒,为开路,击碎固体
(Shield Charm)铁甲咒,暂时的隔墙使小魔咒偏向
(Side-Along-Apparition)随从显形
(Splinched)分体,巫师在幻影移形时,留了一半身子在后
(Transfiguration)变形术
(Unbreakable Vow)牢不可破的誓言
(Wolfsbane potion)狼毒试剂
(Morsmordre)尸骨再现
(Unforgivable Curses) 不可饶恕咒(钻心咒,夺魂咒,阿瓦达索命咒)
咒语中英对照:
Accio**飞来
Aguamenti清水如泉
Alohomora阿拉霍洞开
Aparecium急急现形
Avada Kedavra阿瓦达索命
Avis飞鸟群群
Cave inimicum哈7中给帐篷施的保护咒语,没有靠谱的解释
Colloportus快快禁锢
Comfundo哈7中混淆咒咒语,试译为“迷魂乱心”
Crucio钻心剜骨
Deletrius消隐无踪
Densaugeo门牙赛大棒
Diffindo四分五裂
Disillusionment幻身咒
Dissendium左右为难
Enervate快快复苏
Engorgio速速变大
Evanesco消影无踪
Expecto Patronum呼神护卫
Expelliarmus除你武器
Ferula阿魏啦
Finite终了结束
Finite incantatem咒立停
Flagrate标记显现
Furnunculus火烤热辣辣
Homenum revelio哈7中显示人类(Homo sapiens是人类的学名……)的咒语
Impedimenta障碍重重
Imperio魂魄出窍
Impervius防水防湿,在哈7中有新用法,试译为“密不透风”(查字典Impervious)
Incarcerous速速禁锢
Incendio火焰熊熊
Liberacorpus金钟落地
Legilimens摄神取念
Levicorpus倒挂金钟
Locomotor .... ....移动
Locomotor Mortis腿立僵停死
Lumos荧光闪烁
Metelojinx recanto哈7里韦斯莱先生用它制止了魔法部某个办公室下雨的情况(orz……)
Mobiliarbus移形幻影
Mobilicorpus移形幻影
Morsmordre尸骨再现
Nox诺克斯荧光闪烁的反咒
Obliviate一忘皆空
Orchideus兰花盛开
Pack收拾
Peskipiksi Pesternomi佩斯奇皮克西 佩斯特诺米
Petrificus totalus统统石化
Point Me给我指路
Portus门托斯
Prior Incantato闪回前咒
Protego盔甲护身
Protego totalum哈7中给帐篷施的保护咒语,貌似Protego扩大版
Quietus悄声细语
Recio速速缩小
Recto粉身碎骨
Relashio力松劲泄
Reparo恢复如初
Repello Muggletum哈7中麻瓜驱逐咒咒语
Rictusempra咧嘴呼啦啦
Riddikulus滑稽滑稽
Salvio hexia哈7中给帐篷施的保护咒语,没有靠谱的解释
Scourgify清理一新
Sectumsempra神锋无影
Serpensortia乌龙出洞
Silencio无声无息
Sonorus声音洪亮
Stupefy昏昏倒地
Tarantallegra塔郎泰拉舞
Unplottable不可标绘
Waddiwasi瓦迪瓦西
Wingardium Leviosa羽加迪姆 勒维奥萨
魔药中英对照:
(Amortentia)迷情剂
(Felix Felicis)福灵剂
(Mandrake Restorative)曼德拉草恢复剂
(Polyjuice Potion)复方汤剂
(Veritaserum)吐真剂
称谓中英对照:
(Aurors) ——傲罗
(Bonder)见证人
(Champions)——勇士,代表学校参加三强争霸赛
(Death Eaters)——食死徒
(Mudblood)泥巴种,对出生麻瓜家庭(非纯血统)巫师的蔑称
(Muggles)麻瓜,非魔法界的人们
(Squib)哑炮,出生在巫师家庭,不过没有魔法能力。
钱币:
(Galleons)——加隆,金币
(Sickles)——西可,银币,17银西可=1金加隆
(Knutes)——纳特,铜币,29铜纳特=1银西可
游戏:
(Gobstones)—— 类似弹子球的魔法游戏,石头会喷出液体溅到输者脸上。
(Quidditch)魁地奇,有四个球,三个圈,类似于足球的运动。其中,
鬼飞球(Quaffle):红球,跟篮球的作用一样。
追球手(chaser)把它投过圈即得10分;
守门员(keeper)负责挡对方射来的球;
游走球(Bludges):两个黑球撞击队员,
击球手(beater)会打击对方球员;
金色飞贼(Golden Snitch):金色小球,找球手(seeker)拿到此球,比赛结束。
(Triwizard Tournament)三强争霸赛
(Yule Ball)—— 圣诞舞会
10. 以太坊多节点私有链部署
假设两台电脑A和B
要求:
1、两台电脑要在一个网络中,能ping通
2、两个节点使用相同的创世区块文件
3、禁用ipc;同时使用参数--nodiscover
4、networkid要相同,端口号可以不同
1.4 搭建私有链
1.4.1 创建目录和genesis.json文件
创建私有链根目录./testnet
创建数据存储目录./testnet/data0
创建创世区块配置文件./testnet/genesis.json
1.4.2 初始化操作
cd ./eth_test
geth --datadir data0 init genesis.json
1.4.3 启动私有节点
1.4.4 创建账号
personal.newAccount()
1.4.5 查看账号
eth.accounts
1.4.6 查看账号余额
eth.getBalance(eth.accounts[0])
1.4.7 启动&停止挖矿
启动挖矿:
miner.start(1)
其中 start 的参数表示挖矿使用的线程数。第一次启动挖矿会先生成挖矿所需的 DAG 文件,这个过程有点慢,等进度达到 100% 后,就会开始挖矿,此时屏幕会被挖矿信息刷屏。
停止挖矿,在 console 中输入:
miner.stop()
挖到一个区块会奖励5个以太币,挖矿所得的奖励会进入矿工的账户,这个账户叫做 coinbase,默认情况下 coinbase 是本地账户中的第一个账户,可以通过 miner.setEtherbase() 将其他账户设置成 coinbase。
1.4.8 转账
目前,账户 0 已经挖到了 3 个块的奖励,账户 1 的余额还是0:
我们要从账户 0 向账户 1 转账,所以要先解锁账户 0,才能发起交易:
发送交易,账户 0 -> 账户 1:
需要输入密码 123456
此时如果没有挖矿,用 txpool.status 命令可以看到本地交易池中有一个待确认的交易,可以使用 eth.getBlock("pending", true).transactions 查看当前待确认交易。
使用 miner.start() 命令开始挖矿:
miner.start(1);admin.sleepBlocks(1);miner.stop();
新区块挖出后,挖矿结束,查看账户 1 的余额,已经收到了账户 0 的以太币:
web3.fromWei(eth.getBalance(eth.accounts[1]),'ether')
用同样的genesis.json初始化操作
cd ./eth_test
geth --datadir data1 init genesis.json
启动私有节点一,修改 rpcport 和port
可以通过 admin.addPeer() 方法连接到其他节点,两个节点要要指定相同的 chainID。
假设有两个节点:节点一和节点二,chainID 都是 1024,通过下面的步骤就可以从节点二连接到节点一。
首先要知道节点一的 enode 信息,在节点一的 JavaScript console 中执行下面的命令查看 enode 信息:
admin.nodeInfo.enode
" enode://@[::]:30303 "
然后在节点二的 JavaScript console 中执行 admin.addPeer(),就可以连接到节点一:
addPeer() 的参数就是节点一的 enode 信息,注意要把 enode 中的 [::] 替换成节点一的 IP 地址。连接成功后,节点一就会开始同步节点二的区块,同步完成后,任意一个节点开始挖矿,另一个节点会自动同步区块,向任意一个节点发送交易,另一个节点也会收到该笔交易。
通过 admin.peers 可以查看连接到的其他节点信息,通过 net.peerCount 可以查看已连接到的节点数量。
除了上面的方法,也可以在启动节点的时候指定 --bootnodes 选项连接到其他节点。 bootnode 是一个轻量级的引导节点,方便联盟链的搭建 下一节讲 通过 bootnode 自动找到节点
参考: https://cloud.tencent.com/developer/article/1332424