Closed lospringliu closed 4 years ago
ed25519有npm包啊,用这个包来验证现在的签名信息?
不是用来验证井通的东西,而是验证这种算法的钱包井通能不能支持。我明确看到瑞波和恒星支持,而libra也说支持。然后井通的宣传也说支持。 我肯定jingtum-lib是不支持的,需要验证节点是否支持
ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa] [-N new_passphrase] [-C comment] [-f output_keyfile]
目前用的是 ecdsa
, ed25519
属于eddsa
组件 | 内容 | 工时 |
---|---|---|
jingtum-lib | .isValidAddress(), PaymentTx.submit() | 1人天 |
swtc-lib | .isValidAddress(), PaymentTx.submit() | 1人天 |
skywell | 直接 websocket 交互 | 2人天 |
总工时: 5人天 @lospringliu
@zcZhang123 , 如果skywelld支持, 是否有兴趣加两天把ed25519的transaction加密鼓捣出来, PR到github/swtcca/swtclib
代码审核过, 结论同意 因为用jingtum-lib服务端签名确认不支持,所以没有做 websocket直接交互, 我会在合适的时候补上
搜索资料, 发觉rpc中有可选参数 key_type, 形式上应该支持 ed25519
RPC
, 可以说明井通没有处理创建 ed25519
的地址const axios = require("axios")
const url = "http://127.0.0.1:5050"
json = {
method: "wallet_propose",
params: [ { key_type: "ed25519" } ]
}
axios.post(url, json).then(r => console.log(r.data)).catch(console.error)
{
result: {
error: 'badSeed',
error_code: 40,
error_message: 'Disallowed seed.',
request: { command: 'wallet_propose', key_type: 'ed25519' },
status: 'error'
}
}
const {Remote, Wallet} = require('swtc-lib')
const secret = "sEdTJSpen5J8ZA7H4cVGDF6oSSLLW2Y"
const wallet = Wallet.fromSecret(secret)
console.log(wallet)
const remote = new Remote()
const tx = remote.buildPaymentTx({
account: "jfqiMxoT228vp3dMrXKnJXo6V9iYEx94pt",
to: "j3vyFAMQW2Ls48eoFCTsMXFq2KNWVUskSx",
amount: remote.makeAmount(),
sequence: 1
})
console.log(tx.tx_json)
let json = {
method: "sign",
params: [
{
seed_hex: '47F64F980B9235CCC3BF8647C17078DE',
tx_json: tx.tx_json,
key_type: "ed25519"
}
]
}
const axios = require("axios")
const url = "http://127.0.0.1:5050"
let json2 = {
method: "wallet_propose",
params: [
{
seed: "ss6TprP5rL7e3EdP2aAbmGvsam5J7",
// seed_hex: "47F64F980B9235CCC3BF8647C17078DE",
key_type: "ed25519"
}
]
}
axios.post(url, json).then(r => console.log(r.data)).catch(console.error)
axios.post(url, json2).then(r => console.log(r.data)).catch(console.error)
{
secret: 'sEdTJSpen5J8ZA7H4cVGDF6oSSLLW2Y',
address: 'jfqiMxoT228vp3dMrXKnJXo6V9iYEx94pt'
}
{
Flags: 0,
Fee: 10000,
TransactionType: 'Payment',
Account: 'jfqiMxoT228vp3dMrXKnJXo6V9iYEx94pt',
Amount: '1000000',
Destination: 'j3vyFAMQW2Ls48eoFCTsMXFq2KNWVUskSx',
Sequence: 1
}
{
result: {
status: 'success',
tx_blob: '120000220000000024000000012F25A4A55D6140000000000F42406840000000000027107321ED68635043BC70DE82272BF5990642400CF79089B2ABCF8EF9D10FFFB96A6587637440ED9B403639FD308CB07759F26158958BAB23C694B86315944FDF28C0212583AF7702A4E5F7AD48CE06E87D01F63B63278E92A6F4F8654ABE722A5315FE9C710C81144B0DECFADE9D4170260CD5BA9EC1CF065CA88946831456FE5CE2D298C9493022FB43596A1B23AE3E3728',
tx_json: {
Account: 'jfqiMxoT228vp3dMrXKnJXo6V9iYEx94pt',
Amount: '1000000',
Destination: 'j3vyFAMQW2Ls48eoFCTsMXFq2KNWVUskSx',
Fee: '10000',
Flags: 0,
Sequence: 1,
SigningPubKey: 'ED68635043BC70DE82272BF5990642400CF79089B2ABCF8EF9D10FFFB96A658763',
Timestamp: 631547229,
TransactionType: 'Payment',
TxnSignature: 'ED9B403639FD308CB07759F26158958BAB23C694B86315944FDF28C0212583AF7702A4E5F7AD48CE06E87D01F63B63278E92A6F4F8654ABE722A5315FE9C710C',
hash: 'E8CD8ED2D480EE2305E183333524636BCFF4387E1DA7B2BED242A96CECCFF72D'
}
}
}
{
result: {
account_id: 'jfqiMxoT228vp3dMrXKnJXo6V9iYEx94pt',
key_type: 'ed25519',
master_key: 'SLAT NESS OTT GORY CRAB SOIL RAKE LEER FLOG OUT YEAH LEG',
master_seed: 'ss6TprP5rL7e3EdP2aAbmGvsam5J7',
master_seed_hex: '47F64F980B9235CCC3BF8647C17078DE',
public_key: 'aKEZQuC43KBysPTS37Yf7jPpz2ekgMrazMxmrZ92yqp5EhMpFQFd',
public_key_hex: 'ED68635043BC70DE82272BF5990642400CF79089B2ABCF8EF9D10FFFB96A658763',
status: 'success'
}
}
我们的宣传中支持 ed25519, 这个是需要验证的,应该包括
结果
[] jingtum-lib [x] swtc-lib [部分] [x] skywelld