如何签署消息 json 消息 (eip712) web3.py

问题描述 投票:0回答:0

我花了 4 个多小时来解决这个问题...如果我写错了,抱歉。 我有一个 json 对象(我搜索过,这个叫做 eip712),我需要签名并接受签名:

message = {
    "types": {
        "EIP712Domain": [
            {
                "name": "name",
                "type": "string"
            }
        ],
        "Challenge": [
            {
                "name": "value",
                "type": "string"
            }
        ]
    },
    "domain": {
        "name": "SomeSite"
    },
    "primaryType": "Challenge",
    "message": {
        "value": "Some value with nonce"
    }
}

但我发现“

web3.eth.sign_typed_data(acc.address, message)
”的唯一方法总是返回错误:
web3.exceptions.MethodUnavailable: {'code': -32601, 'message': 'the method eth_signTypedData does not exist/is not available'}
并且有人在 github 页面上说“看起来 infura 不支持 eth_signTypedData” 但是!!!!我尝试了大约 10 个不同的节点,但它们有时都返回不同的错误 :)) 我不知道该怎么做,我不敢相信没有办法用 python 签署 eip712 消息,更不用说只使用 web3.py

web3py web3 eip
© www.soinside.com 2019 - 2024. All rights reserved.