0. 以管理员方式运行powershell

1.

vue init simulatedgreg/electron-vue my-project

// 1. 不要用eslint!不然对js格式要求严格

// 2. 用builder而不是packager,packager太慢了

2.

cd my-project

3.

cnpm install

4. 安装element-ui

cnpm install element-ui –save-prod

 

背景:学习PC Assemble Language。

1. nasm -f elf fileName.asm

这样生成了合适的fileName.o

2. nasm -f elf -d ELF_TYPE asm_io.asm

这样生成了合适的第三步用到的asm_io.o

P.S. 这里就是”ELF_TYPE”, 不要换成其他的如”elf”

3. gcc -m32 -o fileName driver.c asm_io.o

这样就生成了可执行文件fileName

4. ./fileName

这样就运行了!

nginx.conf里面的:

server {
listen 80 default_server;
server_name localhost;
root /var/www/html/dist;

location / {
root /var/www/html/dist;
try_files $uri $uri/ @router
index index.html;
}

location $router {
rewrite ^.*$ /index.html last;
}

error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

 

/*

注意:

1)vue生成的dist目录放在/var/www/html下,如果放到/root/下的话,就会因为权限问题而nginx 403 forbidden

2) axios里的 base里面写的服务端api的地址如localhost、127.0.0.1等换成服务器http://ip

1. solidity的合约中,设定函数为view类型,如

function getAgent(address _agentAddress) public view returns(address _parentAddress, address _grandpaAddress){
    require(agents[_agentAddress].isUsed, "address_none");

    return (agents[_agentAddress].parentAddress, agents[_agentAddress].grandpaAddress);
}

这样通过web3j生成的java函数为

public RemoteCall<Tuple2<Address, Address>> getAgent(Address _agentAddress) {
    final Function function = new Function("getAgent", 
            Arrays.<Type>asList(_agentAddress), 
            Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}, new TypeReference<Address>() {}));
    return new RemoteCall<Tuple2<Address, Address>>(
            new Callable<Tuple2<Address, Address>>() {
                @Override
                public Tuple2<Address, Address> call() throws Exception {
                    List<Type> results = executeCallMultipleValueReturn(function);
                    return new Tuple2<Address, Address>(
                            (Address) results.get(0), 
                            (Address) results.get(1));
                }
            });
}

接着,使用的话如下:

RemoteCall<Tuple2<Address, Address>> tuple2RemoteCall = MainContractController.mainContract.getAgent(_agentAddress);
Tuple2<Address, Address> addressAddressTuple2 = tuple2RemoteCall.send();

2. 如果函数不能是View类型,则solidity中只能通过emit事件了。

emit eventName(…)

比如要修改的类为Ma.java,包名为

package org.web3j.protocol.core;

那么,我们就在自己那个src/main/java下,

1)建org包,org包下建web3j包,protocol下建core包

2)在core包下建立Ma.java,里面写重写后的代码。

3)完事,直接开始运行把,之后ideal会默认采用自己写的那个。

// 注意应该像说的那样建立包的路径,而非随便放Ma.java在其他路径然后给Ma.java上声明package洒洒洒的。

 

// 参考:

https://blog.csdn.net/xie_xiansheng/article/details/74453244

1 除了广为人知的rm -rf /*外,

2 还有chomd -R 777/*

这个命令会改变整个系统的权限系统,而一些软件是会检查权限然后执行的,会导致软件的不正常运行,一旦执行,只能重装!!!

3 iptables -P INPUT DROP

这个命令会拒绝掉所有链接,导致ssh都连不上(没配置白名单的话)。若此,阿里云的那里可以选择通过vnc连接,那么vnc连接回去后恢复。

change password:

use mysql; update user set authentication_string=PASSWORD(“mynewpassword”) where User=’root’; flush privileges;

 

create user:

create user zhangsan identified by ‘zhangsan’;

 

grant privileges:

grant all privileges on zhangsanDb.* to zhangsan@'%' identified by 'zhangsan';
flush privileges;

连接远程数据库
mysql -u username -p -h ip -P 30005