IFC
Structure
IFCBuilder
IFC
- server // Web3Url
- signRawPayment
- exonerate
- sendPayments
- commitPayments
- finalize
- payPenalty
- crypto
- getNewKeyPair
- keyInfo
- encrypt
- decrypt
- sign
- verify
- sidechain // Web3Url, NodeUrl
- getIFCContract
- event // Web3Url
- watchAddStage
- watchObjection
- watchExonerate
- watchFinalize
Example
IFCBuilder
to create an ifc object
1. Use ifc =
crypto
to generate key pair
2. Use ifccryptoifccryptoifccrypto
rawPayment
with specific format
3. Fake a rawPayment = from: '0x49aabbbe9141fe7a80804bdf01473e250a3414cb' to: '0x5b9688b5719f608f1cb20fdc59626e717fbeaa9a' value: 100 localSequenceNumber: 99 stageHeight: 3 data: foo: 'bar' pkUser: '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5SxAR4lIyHg3vF/DbWKq\nZfedueCC6TpSMmD3LMZ2vhvI8cO1ydmDRTngJlgiKCcQFGGRcDqI5vxBfE4vdCy/\nDFw1zTiT9pPLUWGZNT4YxlcdFUJ26b4YqRHUk8Tfg4YNSUTaNKaj2VKj3NyLrchN\neunMWeLj+QlfdjV5zUkOy9pbMj0co1gDAK85jnO8NJupycWyA/ezfpaoTfJj2Ijd\n2b0+nCWCdWw8oWBJH9uXhCetbTI2QjYYOXj77aICrr2OUH4OkiZMoiIXAIV0D+P9\nysa6hgFzv5xAlO39mOnnu4wRoYJIIaHZyvNMVkdt4ZavZPuTuAQIPODy8/n19QWq\nRQIDAQAB\n-----END PUBLIC KEY-----' pkStakeholder: '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiQgP8iTDok0b1JSIPmbE\nzCKSphTfHm57Mu3LIgz9PD3vfcVW43sqAMOkelRijqmUpNLW0OBYzNIgH7sIIrhG\n89zXxXG/s4ewrbcbJn8XhotFoJQFLzBFovgYv34v3ZYmlCZsApWAtXkxWveq54FJ\nsQFrUWA+J/FNkp4uqu2Ekenn8OnuYYn25LdZPiUugOPMrALk4hS6nDSBmfVSPPka\nDilawdZwjkQGH9uu8pOFYG+oT1q9MYahrkmRzY05Q4zHOhB8HPzsbz0HpuwanXga\n/HqEmvBn0EJs+SrkZZmyZ6bjz1Izx8Io67HEje9JUeV6qDLE/ZQ/PXoRLnqg3Yqd\nIwIDAQAB\n-----END PUBLIC KEY-----'
payment
4. Make a valid payment = ifcserver
payment
s to Infinitechain Node
5. Send ifcserver
payment
s to Blockchain
6. Commit ifcserver
stage
7. Finalize ifcserver
How to Develop
npm install
npm run build
: 轉譯 & 打包npm run console
: node REPL
從本機安裝 ifc
(/ifc) cd ../ifc_extension
(/ifc_extension) npm install ../ifc