<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhunh的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_22656233</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_22656233]]></copyright><item><title><![CDATA[Hyperledger fabric 2.1.0环境搭建]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/106027949</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/106027949</guid><author>qq_22656233</author><pubDate>Sat, 09 May 2020 22:12:05 +0800</pubDate><description><![CDATA[先决条件：

官网提到的环境条件https://hyperledger-fabric.readthedocs.io/en/release-2.1/prereqs.html
	这里重点提一点，go语言环境必须1.14.x以上版本，不然会出错，我就因为这个从1.12升级到1.14才通过
1. 下载二进制文件，选择v2.1.0版本的

https://github.com/hyperledger/fabric/releases

解压得到文件如下，复制到 /usr/local/bin/ 目录下



2.下载 f]]></description><category></category></item><item><title><![CDATA[1.HyperledgerFabric入门记录——环境搭建]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/90171985</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/90171985</guid><author>qq_22656233</author><pubDate>Mon, 13 May 2019 14:14:41 +0800</pubDate><description><![CDATA[预先准备好 docker、git等工具。

1.在本机 go 项目地址（设置gopath）建文件夹 github.com/hyperledger 并进入hyperledger文件夹执行命令：


git clone https://github.com/hyperledger/fabric.git

将源码拉取下来到本地，默认是最新版本

2.进入 fabric 文件夹，执行以下命令，编译形成 c...]]></description><category></category></item><item><title><![CDATA[Fabric1.4商业票据例子跑通过程]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/90047744</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/90047744</guid><author>qq_22656233</author><pubDate>Thu, 09 May 2019 22:16:23 +0800</pubDate><description><![CDATA[该例子地址：

https://hyperledger-fabric.readthedocs.io/en/release-1.4/tutorial/commercial_paper.html

环境：mac

1.预备环境安装

2.下载fabric-sample:


git clone https://github.com/hyperledger/fabric-samples.git

3.启...]]></description><category></category></item><item><title><![CDATA[笔记：以太坊单机多节点集群部署]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/88398983</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/88398983</guid><author>qq_22656233</author><pubDate>Mon, 11 Mar 2019 17:41:47 +0800</pubDate><description><![CDATA[1.初始文件结构如下：



2.在该目录下打开命令行输入命令初始化并开启主节点：


geth --datadir ./data/00 init genesis.json
geth --datadir ./data/00 --nodiscover --networkid 314590 --ipcdisable --port 61910 --rpcport 8200 console

其中参数ne...]]></description><category></category></item><item><title><![CDATA[笔记：以太坊geth客户端命令及参数]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/88396000</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/88396000</guid><author>qq_22656233</author><pubDate>Mon, 11 Mar 2019 16:17:14 +0800</pubDate><description><![CDATA[geth命令的参数：


--nodiscover

   使用此选项可确保未手动添加您的人员无法发现您的节点。否则，如果您的节点具有相同的创世纪文件和网络ID，则可能无意中将您的节点添加到陌生人的区块链中。


--maxpeers 0

  如果您不希望任何其他人连接到您的测试链，请使用maxpeers 0。或者，如果您确切知道要连接到节点的对等端数，则可以调整此数字。


--r...]]></description><category></category></item><item><title><![CDATA[笔记：geth配置智能合约]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/84798380</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/84798380</guid><author>qq_22656233</author><pubDate>Tue, 04 Dec 2018 21:41:39 +0800</pubDate><description><![CDATA[1.使用基于浏览器的IDE环境：Remix https://remix.ethereum.org

2.写好合约代码，并确保无语法错误


pragma solidity &amp;gt;=0.4.22 &amp;lt;0.6.0;

contract TestContract
{
    function multiply(uint a, uint b) public returns (uint)
    {
...]]></description><category></category></item><item><title><![CDATA[笔记：geth搭建以太坊私有链]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/84782472</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/84782472</guid><author>qq_22656233</author><pubDate>Tue, 04 Dec 2018 09:06:19 +0800</pubDate><description><![CDATA[1.下载安装geth客户端

国内镜像地址

2.创世区块配置信息，genesis.json文件放于geth目录下


{

   &quot;config&quot;: {
        &quot;chainId&quot;: 15,
        &quot;homesteadBlock&quot;: 0,
        &quot;eip155Block&quot;: 0,
        &quot;eip158Block&quot;: 0
    },
    &quot;coinbas.]]></description><category></category></item><item><title><![CDATA[笔记：springboot页面出错的自定义提示]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/80900479</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/80900479</guid><author>qq_22656233</author><pubDate>Tue, 03 Jul 2018 16:26:48 +0800</pubDate><description><![CDATA[try {
      //可能出错的操作，例如数据库查找为空              			
} catch (Exception e) {
	// TODO: handle exception
	response.setContentType(&quot;text/html;charset=utf-8&quot;);
	response.setCharacterEncoding(&quot;utf-8&quot;);
	respo...]]></description><category></category></item><item><title><![CDATA[记录问题：Js事件嵌套绑定问题unbind()解决]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/79792429</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/79792429</guid><author>qq_22656233</author><pubDate>Tue, 26 Jun 2018 17:13:04 +0800</pubDate><description><![CDATA[12]]></description><category></category></item><item><title><![CDATA[记录问题：Springboot上传文件]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/80791670</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/80791670</guid><author>qq_22656233</author><pubDate>Sun, 24 Jun 2018 15:39:42 +0800</pubDate><description><![CDATA[方法一：	//上传文件方法
	public void uploadUtil(MultipartFile file,String filepath,String filename) throws IOException {
		File uploadDir = new File(filepath);
		if(!uploadDir.exists()) {
			uploadDir.mkdirs();...]]></description><category></category></item><item><title><![CDATA[从oracle导数据到mysql]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/80717574</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/80717574</guid><author>qq_22656233</author><pubDate>Sun, 17 Jun 2018 12:06:29 +0800</pubDate><description><![CDATA[工具：SQL Developer,MySQL Workbench,Notepad++思路：a.SQL Developer连接oracle数据库将表导出为csv格式文件（点查询数据之后有导出按钮）b.Notepad++打开csv格式文件选择全部数据转编码为UTF-8c.MySQL Workbench右键表选择导入数据，导入完成注意:a.SQL Developer连接远程oracle数据库填：ip/S...]]></description><category></category></item><item><title><![CDATA[CentOS安装32位命令库]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/80717490</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/80717490</guid><author>qq_22656233</author><pubDate>Sun, 17 Jun 2018 11:27:28 +0800</pubDate><description><![CDATA[需安装glibc.i686，zlib.i686，libstdc++.i686三个库.相关命令：yum search xxx：查找安装库yum list | grep xxx：模糊查找本地库yum install xxx：安装yum remove：卸载参考博客：CentOS安装aapt...]]></description><category></category></item><item><title><![CDATA[记录问题：Sprintboot不通过controller直接访问静态html页面]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/80635829</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/80635829</guid><author>qq_22656233</author><pubDate>Sat, 09 Jun 2018 20:17:59 +0800</pubDate><description><![CDATA[问题：新建springboot项目，将boostrap模板导入。访问index.html正常。从index.html访问别的页面404错误。解决：开始是将html文件全放templates文件夹下，而springboot默认static文件夹之外的页面需要通过controller访问（好像是websecurity权限控制）。把除index.html外的页面放static文件夹，再运行可以正常访问。...]]></description><category></category></item><item><title><![CDATA[electron打包]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/80267669</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/80267669</guid><author>qq_22656233</author><pubDate>Thu, 10 May 2018 15:00:21 +0800</pubDate><description><![CDATA[1.将写好的程序打包成exe可执行文件使用的第三方打包工具electron-packagernpm install electron-packagerelectron-packager . 可执行文件名 --win --out 输出文件夹 --arch=x64 --version 版本号 --overwrite --ignore=node_modules2.打包好执行输出文件夹的的exe可执行文件...]]></description><category></category></item><item><title><![CDATA[JS计算当前日期的周次]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/80226061</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/80226061</guid><author>qq_22656233</author><pubDate>Mon, 07 May 2018 15:30:27 +0800</pubDate><description><![CDATA[函数：


function getweek(z){//参数z是"2018-05-07 15:12:36"或者"2018/05/07 15:12:36"
	var day11=Date.parse(z);
	var day11=new Date(day11);
	day11.setMonth(0);
	day11.setDate(1);
	day11.setHours(0);
	day11.set...]]></description><category></category></item><item><title><![CDATA[记录问题：mysql中datetime类型字段的自动更新]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/80202587</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/80202587</guid><author>qq_22656233</author><pubDate>Sat, 05 May 2018 09:24:11 +0800</pubDate><description><![CDATA[问题：数据库设置了一个字段保存该条记录的最后修改时间，更新操作的时候该字段不更新，始终为第一次插入该条数据的时间。原因：更新操作是直接update对象，而对象是findById从数据库查找出来的，带有了最后修改时间字段的值，此时手动将该值设置为null即可，数据库便会将当前时间赋给该字段。...]]></description><category></category></item><item><title><![CDATA[记录问题：mysql中datetime类型字段在后台读取与前端展示]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/80182094</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/80182094</guid><author>qq_22656233</author><pubDate>Thu, 03 May 2018 17:24:48 +0800</pubDate><description><![CDATA[1.数据库字段类型为datetime,model里：@Column(name = &quot;createtime&quot;, length = 20)
private Date createTime;2.两种将数据传到前端的方法方法一：List&amp;lt;Map&amp;lt;String, Object&amp;gt;&amp;gt; list=targetService.findAll();//这里获取到目标list,省略业务方法
Li...]]></description><category></category></item><item><title><![CDATA[记录问题：linux下安装mariadb（mysql分支）]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/80175912</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/80175912</guid><author>qq_22656233</author><pubDate>Thu, 03 May 2018 10:33:16 +0800</pubDate><description><![CDATA[1.一开始我直接运行命令：yum install mariadb发现不能启动服务。2.安装服务yum -y install mariadb mariadb-server3.启动systemctl start mariadb//启动
systemctl enable mariadb//开机启动4.设置mysql_secure_installation5.登录测试mysql -u root -p
~]...]]></description><category></category></item><item><title><![CDATA[记录问题：webuploader上传插件，上传按钮没反应，引入文件都正常]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/80046408</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/80046408</guid><author>qq_22656233</author><pubDate>Mon, 23 Apr 2018 10:01:09 +0800</pubDate><description><![CDATA[上传按钮在modal里，modal开始是隐藏的，导致组件获取不到#picker的宽高，没办法初始化。解决：在按钮出现的时候刷新$(function(){
	var uploader = WebUploader.create({
	    // swf文件路径
	    //swf: '/webuploader/Uploader.swf',
	    auto:false,
	    // 文件接收...]]></description><category></category></item><item><title><![CDATA[记录问题：表单元素设置disabled属性后台不能获取该值]]></title><link>https://blog.youkuaiyun.com/qq_22656233/article/details/79787320</link><guid>https://blog.youkuaiyun.com/qq_22656233/article/details/79787320</guid><author>qq_22656233</author><pubDate>Mon, 02 Apr 2018 12:03:56 +0800</pubDate><description><![CDATA[有些表单元素不希望用户填写的话，可设置disabled属性，但是设置disabled属性的表单字段值不会提交到后台。可以通过设置readonly属性值达到同样的效果且能提交到后台。&amp;lt;input type=&quot;text&quot; name=&quot;name&quot;  required=&quot;required&quot; id=&quot;name&quot; placeholder=&quot;姓名&quot; disabled&amp;gt;//disabled=&qu]]></description><category></category></item></channel></rss>