knowledge / ethereum-contracts Goto Github PK
View Code? Open in Web Editor NEWKnowledge Ethereum Smart Contracts
Home Page: https://knowledge.io
License: MIT License
Knowledge Ethereum Smart Contracts
Home Page: https://knowledge.io
License: MIT License
Ethereum gas is always charged to the sender and is always payed in ether.
We need to find a way to relay that tx so that gas is payed by us or refill the sender address with enough gas.
Option txRelay
References
- https://github.com/Decentralized-Blockchain/uport-identity/blob/develop/docs/txRelay.md
- https://0xproject.com/ - https://github.com/0xProject/contracts/tree/master/contracts
Option Refill
When a user wallet address doesn't have enough ether to execute a payment in Knowledge we
need to find a way to refill that address with just enough ether for that transaction.
We need to transfer that cost to the seller or the user in form a Knowledge fee. This is also challenging, how can we get a exchange rate ? Perhaps in the form of pull oracle that always return the same exchange rate for all node for a given tx. eg. GET knowledgeapi.io/v1/exchange-rate?orderId=KNW872892LU8
. This involves risks and complexities that need to be properly assessed.
We need to SUPER careful not to open up a potential vulnerability.
The store payment contract need to send a % of KNW of the total fee for that order to the Knowledge address.
That percentage may vary. This contract should be upgradable.
We need 100% test coverage.
These are some of tools we can leverage
Manticore - Dynamic binary analysis tool with EVM support
Mythril - Reversing and bug hunting framework for the Ethereum blockchain
Oyente - Analyze Ethereum code to find common vulnerabilities, based on this paper.
Solgraph - Generates a DOT graph that visualizes function control flow of a Solidity contract and highlights potential security vulnerabilities.
Short description of the contract files needs to be updated on the readme file to match the latest code version https://github.com/knowledge/knowledge-contracts#contracts
We need to prevent tokens to be spent once they have been committed/approved for the Q&Ads campaign.
Also this might be a good use case for payment channels
https://github.com/mattdf/payment-channel/blob/master/channel.sol
https://medium.com/@matthewdif/ethereum-payment-channel-in-50-lines-of-code-a94fad2704bc
We need to have all the source code in contracts and not rely on code from third parties.
This is mostly for security, but also for any update on those external contracts.
Automate the deployment of successful master builds to Ropsten Testnet in order to perform some manual testing using metamask.
We want to have interaction diagrams for the contract functionality in our documentation.
Reference https://github.com/Decentralized-Blockchain/uport-identity#main-contract-interactions
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.