The "Verify Signature OffChain" capability in the KrypC wallet-dev Service API enables users to verify the authenticity of cryptographic signatures associated with transactions or messages off-chain. This feature enhances security by allowing users to confirm the validity of signatures without interacting directly with the blockchain, facilitating trust and integrity in decentralized systems.
This will allow to Verify Signature off chain.
Verify Signature OffChain API
To verify signature offchain API under the given instance.
200: OK SUCCESS 401: Unauthorized Failure in authentication 500: Internal Server Error Key values should be given
Copy {
"Data" : {
"isVerified" : true
} ,
"Message" : "" ,
"Status" : "SUCCESS"
}
Copy {
"message" : "Invalid API key in request"
}
Copy {
"message": "Internal Server Error"
}
Take a look at how you might call this method using our official libraries, or via curl
curl Node.js (Fetch) Python Golang
Copy
curl --location 'https://api.krypcore.com/api/v0/devWallet/verifySignatureOffChain' \
--header 'DappId: **********' \
--header 'Authorization: **********' \
--header 'SubscriptionId: ********' \
--header 'ChainId: ********' \
--header 'Content-Type: application/json' \
--data '{
"privateKey": "**********",
"message": "Hello",
"signature": "**********"
}'
Copy
var myHeaders = new Headers ();
myHeaders .append ( "DappId" , "**********" );
myHeaders .append ( "Authorization" , "**********" );
myHeaders .append ( "SubscriptionId" , "********" );
myHeaders .append ( "ChainId" , "********" );
myHeaders .append ( "Content-Type" , "application/json" );
var raw = JSON .stringify ({
"privateKey" : "**********" ,
"message" : "Hello" ,
"signature" : "**********"
});
var requestOptions = {
method : 'POST' ,
headers : myHeaders ,
body : raw ,
redirect : 'follow'
};
fetch ( "https://api.krypcore.com/api/v0/devWallet/verifySignatureOffChain" , requestOptions)
.then (response => response .text ())
.then (result => console .log (result))
.catch (error => console .log ( 'error' , error));
Copy
import requests
import json
url = "https://api.krypcore.com/api/v0/devWallet/verifySignatureOffChain"
payload = json . dumps ({
"privateKey" : "**********" ,
"message" : "Hello" ,
"signature" : "**********"
})
headers = {
'DappId' : '**********' ,
'Authorization' : '**********' ,
'SubscriptionId' : '********' ,
'ChainId' : '********' ,
'Content-Type' : 'application/json'
}
response = requests . request ( "POST" , url, headers = headers, data = payload)
print (response.text)
Copy
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main () {
url := "https://api.krypcore.com/api/v0/devWallet/verifySignatureOffChain"
method := "POST"
payload := strings. NewReader ( `{
"privateKey": "**********",
"message": "Hello",
"signature": "**********"
}` )
client := & http.Client {
}
req, err := http. NewRequest (method, url, payload)
if err != nil {
fmt. Println (err)
return
}
req.Header. Add ( "DappId" , "**********" )
req.Header. Add ( "Authorization" , "**********" )
req.Header. Add ( "SubscriptionId" , "********" )
req.Header. Add ( "ChainId" , "********" )
req.Header. Add ( "Content-Type" , "application/json" )
res, err := client. Do (req)
if err != nil {
fmt. Println (err)
return
}
defer res.Body. Close ()
body, err := ioutil. ReadAll (res.Body)
if err != nil {
fmt. Println (err)
return
}
fmt. Println ( string (body))
}