ethereum-localized-messaging
v2.1.4
Published
A method of converting machine codes to human-readable text in any language and phrasing.
Downloads
16
Maintainers
Readme
Ethereum Localized Messaging
A method of converting machine codes to human-readable text in any language and phrasing.
An Implementation of EIP-1444
EIP-1444: an on-chain system for providing user feedback by converting machine-efficient codes into human-readable strings in any language or phrasing. The system does not impose a list of languages, but rather lets users create, share, and use the localized text of their choice.
Installation
npm install ethereum-localized-messaging
Usage
Implement your own localizations:
pragma solidity ^0.5.0;
import "/ethereum-localized-messaging/contracts/Localization.sol";
contract PirateLocalization is Localization {
constructor() public {
set(hex"00", "Nay!");
set(hex"01", "Aye!");
set(hex"02", "Arr jolly crew have begun");
set(hex"03", "Awaitin'");
set(hex"04", "Ye need ta do something");
set(hex"05", "Has walked thar plank an expired");
set(hex"0F", "Only this here metadata");
set(hex"10", "Ye can nay do that");
set(hex"11", "Ye be permitted");
set(hex"12", "Ye have requested thar go ahead");
set(hex"13", "Yer waitin' fer the go ahead");
set(hex"14", "Thar awaiting yer signal");
}
}
pragma solidity ^0.5.0;
import "/ethereum-localized-messaging/contracts/LocalizationPreferences.sol";
import "./PirateLocalization.sol";
contract MyContract {
LocalizationPreferences prefs;
constructor() public {
PirateLocalization pirateLocalization = new PirateLocalization();
prefs = new LocalizationPreferences(pirateLocalization);
}
function localize(bytes32 _code) view public returns (bool _found, string _msg) {
return prefs.textFor(_code);
}
}
Contributing
Prerequisites
- NodeJS, v10.11.0 or higher
- Truffle, v5.0.0-beta.0
Quick Start
npm install
truffle compile
npm run coverage