NAVH Product Description
It all begins with an idea.
Blockhead Automation Layer for Linea
The blockhead project contains two parts:
The Blockhead Automation Layer for Linea is a series of smart contracts that enables the automation of functions in other smart contracts that integrate the Blockhead Automation Layer.
Blockhead Finance is a self-custody subscription payment dapp. It is the first proof-of-concept app fully automated by the Blockhead Automation Layer.
Blockhead Team
Levi Webb - levi.webb@gmail.com
Jason Dubaniewicz - Jason@truerev.com
Submitting for bounty Bounty 5: Make a dapp that slaps, no cap.
Infura integration - To Infura and beyond
Linea deploy - IYKYK Linea edition
The Problem Being Solved by Blockhead Finance
Every SAAS company and millions of other companies are based on a subscription business model. Currently, there is no easy way to allow for subscription payments with crypto. This is because of the push vs pull nature of crypto transactions.
Blockhead Finance is the first Dapp to utilize the magic of the Blockhead Automation Layer to overcome the push vs pull problem and enable full self-custody, decentralized subscription payments on Linea.
The Bigger Problem Being Solved by the Blockhead Automation Layer
Smart contracts are not self-executing, they always require an off-chain user to call the contract to make a transaction or update the on-chain state. But there are many instances where automation is needed. If you want a function to execute on regular time intervals such as with recurring payments, dollar-cost averaging, or compounding staking rewards. Maybe you want to set a buy price for WETH and have a contract automatically swap at that limit order price. These all require a very dedicated team member watching the state of the blockchain 24/7 or they all require automation.
Blockhead has built the automation layer for Linea. Linea developers can now integrate the Blockhead Automation Layer into their new or existing contracts and have a decentralized network of nodes automate simple transactions automagically.
Future Plans
Tech Stack
Node.js
ethers.js
pm2
Javascript
Solidity
React
NAVH ReadMe
It all begins with an idea.
#Blockhead Automation Layer for Linea
The blockhead project contains two parts:
The Blockhead Automation Layer for Linea is a smart contract layer that enables Linea builders to automate simple functions within their contracts. Builders simply include the Blockhead Automation Layer implementation into their smart contracts and a decentralized network of nodes will mange the automation.
Blockhead Finance is a fully self-custody subscription payment dapp. It is the first proof-of-concept app fully automated by the Blockhead Automation Layer.#How to create a subscription payment with Blockhead Finance.
#Powered by Consensys
Bounty 1: To Infura and Beyond
Blockhead Automation Nodes rely heavily on infura WebSocket endpoints. As their only function is to check every Automated function every 60 seconds to determine parameters have been met to call that function, and if true, call that function. The node Infura websocket implementation are all in the automationNodes folder.
Linea Websocket Endpoint -> lineaAutomationNode.js
Linea Goerli Websocket Endpoint - > lineaGoerliAutomationNode.js & testNode.js
Polygon Websocket Endpoint -> polygonAutomationNode.js
Sepolia Websocket Endpoint -> sepoliaAutomationNode.js
The Blockhead Finance dapp utilized the RPC endpoints for each chain the dapp is deployed.
The actual Endpoint URLs are stored locally in a .env file and are not shared for security reasons
Bounty 3: IYKYK Linea Addition
Both the blockhead Automation Layer and Blockhead Finance recurring Payments are live on Linea
Recurring Payments contract: https://explorer.linea.build/address/0x06A4A92EE08d44769fa67e85571a6C9a5A0299CA
Automation Layer Contract: https://explorer.linea.build/address/0xCa9A5C76e9c792c9106C9c1376521bAE52244790
Node Sequencer Contract: https://explorer.linea.build/address/0x08399e90178e2E51e160394123C8301E27AFBe92
Batch Processor Contract: https://explorer.linea.build/address/0x21bCd9863988EE6EE23EaF765b9E66bfA7D356F6
Duh Contract: https://explorer.linea.build/address/0x5cb892fc4b6b99F6B11882A504a3b20fA6252e3B
Bounty 5: Make a Dapp tha Slaps, No Cap
It most definitely slaps
#How to create a subscription payment with Blockhead Finance
Merchants can set up subscription payments by visiting https://app.Blockhead.Finance.
1. Set up a Blockhead Finance merchant account by registering withemail.
2. Create a new subscription product using the create subscription form.
3. Copy the URL of your subscription and implement it into your website checkout, by linking the subscribe button for the product or service to the URL of your subscription page.
4. Monitor your subscriptions on your merchant dashboard.
Customer at checkout at (your landing page URL)
1. Connect Wallet
2. Approve Token spend
3. Approve recurring payment
4. Enjoy your product without ever giving custody of their tokens to a third party or paying another gas fee, while we automagically transfer the approved tokens at the approved intervals.
#How to run the Blockhead Finance app locally
#How to run a Blockhead Automation Node (testNode):
1. cd into the automationNodes folder and install ethers 5.6.1
$npm install ethers@5.6.1 --save
2. Install dot env if not already installed
$npm install dotenv -g
3. Update your .env file with your Infura WebSocket provider endpoints for the network you wish to automate as well as the private key.
LINEAGOERLI_WSS = “your Infura WebSocket endpoint URL”
TEST_ACCOUNT = “Your nodes wallet private key”
4. Install pm2
$ npm install pm2 -g
5. Install pm2
$ npm install pm2 -g
4. Make sure your wallet has sufficient LineaGoerliETH for submitting transactions, then start the node
$pm2 start automationNodes/testNode.js
#How to automate a contract with the Blockhead Automation Layer:
https://docs.google.com/document/d/1vCk6s6jOHp6z3VvmnEzn8L8Bz0apo5aVvXI42nkWrp0/edit?usp=sharing
Polygon Addresses
sequencer: 0x702A1Fe16B6ff595E9E2AaAfa1e8e760Df88588C
AutomationLayer: 0x62f43fb9832e83cde2380327fad8d46e77ad0bc8
DUH: 0xA4dABAa2DeDC043433A598e4cB1810842714A7d5
PaymentLayer: 0x888A74ad7076Fae93147DC1e01146Ae9381e5B36
batchProcessor: 0x42c6AA0e41Ded8cfcdF260bc3155f26d00FafC20
sepolia testnet addresses
sequencer: 0xa3417E64A0749073183E948d3d1b17317230Bc87
AutomationLayer: 0x57216Cb79FA0B948d48d28Fb374Af3ca718E5705
PaymentLayer: 0x350288deCD61DDf2D05954074475536cdA0d4405
Duh : 0xe981768F7eBeC7001c21DAC72C1BD986c1522580
batchProcessor: 0x4a254804dc93f65453d21f8a4AbE7E52A4320782
Linea Testnet Addresses
sequencer: 0x06A4A92EE08d44769fa67e85571a6C9a5A0299CA
AutomationLayer: 0x346a834dFEeFc165C0307dbA320812Afea650a5C
PaymentLayer: 0x27D15b36507cAF395D7Bb5607A0974c1dbE85c0e
Duh : 0x5cb892fc4b6b99F6B11882A504a3b20fA6252e3B
batchProcessor: none
Linea Mainnet addresses
sequencer: 0x08399e90178e2E51e160394123C8301E27AFBe92
AutomationLayer: 0xCa9A5C76e9c792c9106C9c1376521bAE52244790
PaymentLayer: 0x06a4a92ee08d44769fa67e85571a6c9a5a0299ca
Duh : 0x5cb892fc4b6b99F6B11882A504a3b20fA6252e3B
batchProcessor: 0x21bCd9863988EE6EE23EaF765b9E66bfA7D356F6
Blog Post Title Three
It all begins with an idea.
It all begins with an idea. Maybe you want to launch a business. Maybe you want to turn a hobby into something more. Or maybe you have a creative project to share with the world. Whatever it is, the way you tell your story online can make all the difference.
Don’t worry about sounding professional. Sound like you. There are over 1.5 billion websites out there, but your story is what’s going to separate this one from the rest. If you read the words back and don’t hear your own voice in your head, that’s a good sign you still have more work to do.
Be clear, be confident and don’t overthink it. The beauty of your story is that it’s going to continue to evolve and your site can evolve with it. Your goal should be to make it feel right for right now. Later will take care of itself. It always does.
Blog Post Title Four
It all begins with an idea.
It all begins with an idea. Maybe you want to launch a business. Maybe you want to turn a hobby into something more. Or maybe you have a creative project to share with the world. Whatever it is, the way you tell your story online can make all the difference.
Don’t worry about sounding professional. Sound like you. There are over 1.5 billion websites out there, but your story is what’s going to separate this one from the rest. If you read the words back and don’t hear your own voice in your head, that’s a good sign you still have more work to do.
Be clear, be confident and don’t overthink it. The beauty of your story is that it’s going to continue to evolve and your site can evolve with it. Your goal should be to make it feel right for right now. Later will take care of itself. It always does.