![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
php从零实现区块链(网页版)
文章平均质量分 89
主要是研究一下区块链原理,底层方面相关的。记录个人对源码的理解和心得,如果不需要,可直接看原贴源码。
Bczheng1
来看看,web3,区块链爱好者。dapp是个很吸引人的东西。
展开
-
PHP从零实现区块链(网页版五)地址、密钥和钱包
而pubkey是这笔input对应的公钥,用这个做账户地址标识。txoutput还是两个变量,但是地址变成了$pubKeyHash,公钥哈希,注意了这里跟txinput不一样,txinput存的是公钥,因为是好加解密,毕竟是用公钥来加解密,他的哈希可没这个功能。通过用私钥加密一段数据发送给你,我提前告诉你解密后的数据,然后你用公钥解密这个数据,如果和我发给你的解密数据对应上了。而公钥是用私钥生成的,但无法用公钥推算出私钥,从数学角度上,保证了安全性,只能穷举破解,但需要的算力是庞大的,等于不可能。原创 2024-01-29 22:02:18 · 1907 阅读 · 1 评论 -
ubuntu下安装两种版本laravel框架和php
接着,再运行php artisan serve终于OK,页面正常访问:(我已经在项目里写了个test.php页面:phpinfo())接着我们将这个composer.phar脚本,移动自己想要的目录,当然你也可以不移动。然后会提示一些php扩展没安装,我们依次安装(注意选择对应7.0的扩展)。OK,为了不影响原来的8.1版本,全局变量环境这些我们就不去改变了。1.假设你已经安装了php8.1版本和高版本的laravel框架。接着我们去下载php7.0对应的composer 2.2版本。原创 2024-01-27 22:53:43 · 580 阅读 · 0 评论 -
PHP从零实现区块链(网页版四)交易1
如果存在的话,就找出是哪个output,就是每循环一个output就和spentTXOS[txID]下所有的索引对比一下,如果相等,则表明这个output就是被花费过的,则跳到第二层循环,继续下一个output。这个spentTXOS存储有这个地址的input,并且行数是以交易区块ID作为元素下标名的,是个二维数组,列存着索引。注意这里的输入输出针对的主体是交易区块,比如输出给张三50个币,那么这个币得有个来源,input就指明了来源,那么可以知道,一个交易区块内,两边的币数是相等的。原创 2024-01-18 21:56:02 · 1475 阅读 · 1 评论 -
PHP从零实现区块链(网页版三)数据持久化与CLI
因为下面的例子用到了Cache::put之类的方法,往缓存文件写入数据,这个是在laravel框架下使用的,所以我们得先安装laraver框架。然后进行更改,将app.php里的代码,写在appcontroller.php里的app函数中,app.php就弃用了。直接把我们的例子复制过来,就是之前app.php,block.php blockchain等几个文件。OK,正常工作(添加路由你们要注意一下自己的laravel版本,不同的版本方法不一样)。,用来转到我们的php程序。OK,运行正常,成功转移。原创 2024-01-11 22:32:40 · 543 阅读 · 1 评论 -
ubuntu下安装laravel框架并调用config()
curl -sS https://getcomposer.org/installer | php //下载composer.phar。这个意思,是在mylaravel项目里启动到内置的laravel服务器,这个服务器绑定的端口是8000。安装laravel框架,首先我们得安装 Composer ,假设你的其他前置条件已经满足了。安装laravel框架,并直接创建一个laravel框架项目名mylaravel1。我们继续用之前的方法来安装curl扩展。提示php没安装XML扩展,或没开启。原创 2024-01-10 00:07:02 · 393 阅读 · 0 评论 -
PHP从零实现区块链(网页版二)工作量证明
因为运行环境问题,本例暂时从windows转到ubuntu下,因为后面例子使用了gmp库的gmp_pow和gmp_cmp函数,而php在windows下暂时没有找到使用gmp的解决方案。注:本例只是从网页版实现一下原理,源码非本人所写,只是将原帖的源码更改了一下,变成网页版。所以我们得加上版本号(你们看情况选择自己的版本号 php -v可查看你当前的php版本)因为要使用gmp_pow和gmp_cmp函数,我们需要安装gmp库。好了,接下来都是在ubuntu下操作。好,正常的话,上面三步就能搞定了。原创 2024-01-07 22:24:58 · 977 阅读 · 1 评论 -
ubuntu下安装php运行环境
好,关于安装方法,只限于我这台电脑环境情况,如果你们不成功,可以试着从网上找些别的方法。然后在var/www/html目录下(这个是apache在ubuntu下的网站根目录)服务安装成功后,我们还得安装php,不然无法识别编译php网页。保存,浏览器输入localhost/index.php访问。(先升级一下安装器版本)原创 2024-01-07 00:15:37 · 797 阅读 · 1 评论 -
PHP从零实现区块链(网页版一)基本原型
2.第一步成功后,我们接下了安装vscode,方便写代码。当然你如果愿意用记事本写,也可以跳过这步,安装vscode就不介绍了,就跟正常安装软件一样。注意,因为在blockchain.php里面使用了block.php块里的类,所以开头我们得加上。本例只是从网页版实现一下原理,源码非本人所写,只是将原帖的源码更改了一下,变成网页版。因为只是通过php来了解一下区块链的基本原理,我就不搭建php的控制台实现了。搭建php运行环境,这个我推荐用phpstudy,一键安装,一键启动,很省事。原创 2024-01-06 20:08:37 · 712 阅读 · 1 评论