Welcome to Ephi! Our mission is to bridge the gap between web3 users and everyday internet applications. Interacting with blockchain technology often requires isolated applications, which can be a significant barrier to adoption. Ephi breaks down these barriers by allowing users to create custom components using HTML and JavaScript. These components are then posted on IPFS and rendered by our extension whenever you post them, enabling blockchain interactions on any everyday application.
📜 Contracts are deployed and verified on the following networks:
-
Base Sepolia 🟢
- TokenTransferor:
0x5E23A12Dd75Bb2432d40B4fc2f676603306a3ff8
- TokenTransferor:
-
Arbitrum Sepolia 🟠
- TokenTransferor:
0x3f6ec2Ca69EBB445D11865B8BcA8Be1Dc184114d
- TokenTransferor:
-
Linea Sepolia 🟤
- Donations:
0x3f6ec2Ca69EBB445D11865B8BcA8Be1Dc184114d
- Donations:
-
NeonEVM 🟣
- Donations:
0x3f6ec2Ca69EBB445D11865B8BcA8Be1Dc184114d
- Donations:
-
ApeChain Jenkins 🔵
-
Rootstock Testnet 🔴
-
Zircuit Testnet ⚪
-
Scroll Sepolia 🟡
-
Morph Holesky 🔵
- Create Custom Components: Use HTML and JavaScript to build your components.
- Post to IPFS: Once created, post your components to IPFS for decentralized storage.
- Rendering: Our extension automatically renders these components whenever they are posted.
You can use our Blink customized generator to easily create these components or make new ones from scratch to fit your specific needs.
- Seamless Integration: Integrate blockchain interactions directly into your favorite apps without needing to switch to a different platform.
- Customizable: Tailor the components to fit your specific needs, whether it's for transactions, notifications, or any other blockchain-related activity.
- Accessible: Make blockchain technology accessible to everyone, not just crypto enthusiasts.
Ephi is built to seamlessly integrate with existing web technologies and the Ethereum and EVM chains. The architecture leverages the power of IPFS and modern web development practices to provide a robust and scalable solution.
- Decentralized: Store your components on the InterPlanetary File System (IPFS) for enhanced security and decentralization.
- Reliable: Ensure your components are always accessible and resistant to censorship.
- Automatic Rendering: Our browser extension renders your IPFS-stored components whenever you post them, making blockchain interactions effortless.
- User-Friendly: Designed to be intuitive and easy to use, even for those new to blockchain technology.
- On Any App: Bring blockchain transactions and interactions to any web surface capable of displaying a URL.
- Metadata-Rich Links: Use shareable, metadata-rich links to enhance the user experience and enable more interactive functionalities.
Ephi brings blockchain technology into everyday internet applications, making it accessible and easy to use for everyone. By leveraging the power of IPFS and customizable components, Ephi removes the barriers to blockchain adoption and opens up a world of possibilities for web3 interactions. Join us in revolutionizing the way we interact with the blockchain! 🚀
Feel free to reach out if you have any questions or want to contribute! 🌐💬
Before you begin, you need to install the following tools:
Clone the Repository
git clone git@github.com:Scannty/eth-blinks.git
- Setup the environment
Create a .env file (see the .env.example)
- Install Dependencies
cd blink-contracts/
forge install
- Compile and Test Contracts
forge build
forge test
- Deploy contracts
npx hardhat run scripts/deployReferralExample.ts --network $networkName
npx hardhat run scripts/deployTokenTransferor.ts --network $networkName
- Setup the environment
Create a .env file (see the .env.example)
- Install Dependencies
cd blink-back-end/
npm install
- Run the server
node server.js
- Install Dependencies
cd blinks-generator
npm install
- Run App
npm start
-
In browser extension window enable developer mode
-
Click on
load from unpacked
and select blink-extension folder
npm start
- Install Dependencies
cd blinks-test-server
npm install
- Run App
node app.js
- Use http://localhost/$routeName instead of IPFS