小编Kwa*_*ang的帖子

以太币上的 _signTypedData 方法与 ERC712 Solidity 代码不匹配

我遇到了以太签名不匹配的问题。

一切正常。已经将js 代码中的domainData, types,变量与合约进行了比较。message

下面是生成签名和调用合约的JS代码。

      const contractAddress = await contract.address;

      domainData.chainId = 31337;
      domainData.verifyingContract = contractAddress;

      const signature = await signer._signTypedData(domainData, types, message);
      const { r, s, v } = ethers.utils.splitSignature(signature);

      const result = await contract.recoverAddressFromTypedData(
        message,
        v,
        r,
        s
      );
      expect(result).to.equal(signer.address);
Run Code Online (Sandbox Code Playgroud)

下面是使用“@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol”的 Solidity 代码

function recoverAddressFromTypedData(
    Bid memory bid,
    uint8 v,
    bytes32 r,
    bytes32 s
) public view returns (address) {
    bytes32 digest = _hashTypedDataV4(hashBid(bid));
    address signer = ecrecover(digest, v, r, s);
    return signer;
} …
Run Code Online (Sandbox Code Playgroud)

signature solidity openzeppelin

8
推荐指数
1
解决办法
2991
查看次数

导入时间模块两次

我看到了来自Youtube的代码,并有一个问题.

以下代码导入time两次.

  1. 进口时间
  2. 从时间导入mktime

import pandas as pd
import os
import time
from datetime import datetime
from time import mktime
Run Code Online (Sandbox Code Playgroud)

通过在第三行导入时间,我认为第5行是无用的.

他为什么两次进口时间?

python

5
推荐指数
1
解决办法
93
查看次数

MultiValueDictKeyError/request.POST

我想我在请求时遇到了问题.POST ['title']

/ blog/add/post /"'title'的MultiValueDictKeyError"请求方法:GET请求URL:http ://119.81.247.69:8000/blog/add/post/ Django版本:1.8.2异常类型:MultiValueDictKeyError异常值:
"'title'"异常位置:getusm中的 /usr/local/lib/python2.7/dist- packages/django/utils/datastructures.py ,第322行Python可执行文件:/ usr/bin/python Python版本:2.7.3

views.py

def add_post(request):
    entry_title = request.POST["title"]
    return HttpResponse('Hello %s' % entry_title)
Run Code Online (Sandbox Code Playgroud)

write.html

<form method="POST" action="/blog/add/post/">
<p>
    <label for "title">Title</label>
    <input type="text" id="title" name="title" value="" />
</p>
<p>
    <label for 'category'>Category</label>
    <select id="category" name="category"></select>
</p>
<p>
    <label for 'tags'>Tags</label>
    <input type="text" id="tags" value="" />
</p>
<p>
    <textarea id="content" name="content"></textarea>
</p>
<p>
    <input type="submit" value="Write" />
</p>
Run Code Online (Sandbox Code Playgroud)

python django

4
推荐指数
1
解决办法
3万
查看次数

更改颜色代码不起作用

function color(){
	var color = "#"
	for(var i = 0; i<6; i++){
		color += Math.floor((Math.random()*16)).toString(16);
	};
	document.getElementsByTagName('body')[0].style.backgroundColor = color;
}

function change(){
	setInterval(color(), 1000);
}
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<button id='button' onmouseover="change();" style='width:50px; height:50px; margin-left:auto;'>click</button>
<script type="text/javascript" src='js.js'></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我试图自动更改背景编码.

我想每1秒更改一次背景颜色.但是当我把鼠标放在上面时,它只会改变颜色.

问题是什么?

html javascript

0
推荐指数
1
解决办法
65
查看次数

expressjs的socket.io设置

我只是尝试使用'Socket.io'进行初始设置,文档说下面的代码

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);

server.listen(80);
Run Code Online (Sandbox Code Playgroud)

这是我的原始代码.

var app = require('express')();
app.listen(80);
Run Code Online (Sandbox Code Playgroud)

两者有什么区别?具体是2个问题.

  1. require('http').服务器(app)=>为什么我需要将app作为Server的参数?
  2. 为什么我必须使用server.listen()而不是app.listen()?

我查了node.js和express.js的文件,但无法理解......

我非常感谢你的全面解释......

http node.js express socket.io server

0
推荐指数
1
解决办法
101
查看次数