Проект

Общее

Профиль

Действия

Примеры

Python

from eth_keys import keys
import requests
msg = b'{}'
pk = keys.PrivateKey(b'\x01' * 32)
signature = pk.sign_msg(msg)
addr = pk.public_key.to_checksum_address()
verify = signature.verify_msg(msg, pk.public_key)
re_addr = signature.recover_public_key_from_msg(msg).to_checksum_address()
print(str(addr) + ' = ' + str(re_addr) + ' = ' + str(verify))

URL = "https://my.h2k.me/ec/ex" 
headers = {
        'x-app-ec-from': addr,
        'x-app-ec-sign-r': hex(signature.r),
        'x-app-ec-sign-s': hex(signature.s),
        'x-app-ec-sign-v': hex(signature.v),
    }
print(headers)
r = requests.get(url=URL, headers=headers)
print(r.content)
data = r.json()
print(data)

nodejs + express

const Web3 = require("web3");

async function createECESign(req, res, next) {
    const privateKey = '0xb7d9b51eda54d664366d74c1b1a4ed2ca9e1abed646732bfb83b141f22df3b39'    
    const rFrom = '0xA285990a1Ce696d770d578Cf4473d80e0228DF95'
    req.conf.rFrom = rFrom
    const msg = req.conf.data ? req.conf.data : '{}'

    const web3 = new Web3();
    const sign = await web3.eth.accounts.sign(msg, privateKey)

    req.conf.headers['x-app-ec-from'] = rFrom
    req.conf.headers['x-app-ec-sign-r'] = sign.r
    req.conf.headers['x-app-ec-sign-s'] = sign.s
    req.conf.headers['x-app-ec-sign-v'] = sign.v
    next();
}

router.get('/test',
    async function(req,res, next){
        const headers = {
            'accept': 'application/json',
            'content-type': 'application/json'
        };
        req.conf = {}
        req.conf.baseURL= 'https://my.h2k.me'
        req.conf.headers = headers
        req.conf.url = '/ece/ex'
        req.conf.method = 'GET'
        const body = {};
        req.conf.data = JSON.stringify(body);
        next()
    },
    createECESign,
    async function(req,res){
        let resp = await axiosEC(req.conf)
        let resp_data = resp.data
        res.send(resp_data);
    }
)

Обновлено Mariyam Seidaliyeva около 1 года назад · 2 изменени(я, ий)