Я работаю над продуманным умным контрактом для Ethereum.
Мне нужно запустить алгоритм криптографической проверки перед совершением транзакции. Этот алгоритм реализован на C ++.
Как я могу назвать этот код изнутри умного контракта?
Допустим, у меня есть следующий код C ++ (но на практике он намного сложнее)
int foo(int a, int b, int n){
if(pow(a,b)%n == 1)
return true;
else
return false;
}
И если этот код возврата верен, мне нужно совершить транзакцию
msg.reciever.addr.send(amount);
Есть ли какое-либо решение, которое я могу использовать, чтобы объединить умные контакты Ethereum и сложную самореализованную криптографию, что должно быть сделано внутри блокчейна? Как сделать мост между блокчейном и внешней библиотекой.
Как правило, вы не можете вызвать какой-либо внешний код из контракта Ethereum. Для запуска криптографической проверки вы должны использовать ecrecover
функция солидности
Других решений пока нет …