npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

TransactionRelay

v0.0.1

Published

Transaction Relay ======

Readme

Transaction Relay

Join the chat at https://gitter.im/iurimatias/transactionrelay

Transaction Relay enables transaction fees of Ethereum contracts and transactions to be paid by any Currency (EIP20 compatible).

There are 2 roles in Transaction Relay:

  • Requester: The user who wants to issue a transaction and pay in some token. The request is signed and broadcasted over Whisper.
  • Relayer: The user who picks up the transaction and is willing to deploy it in exchange for the tokens proposed.

The contract will verify the transaction was deployed and compensate the Relayer.

Transaction Relay is currently Alpha.

Possible Applications

  • Contracts and transactions can be paid in different currencies that a user might find more convenient.
  • 'pay-to-play' used to be the only model possible in Ethereum, in this model the issuer of the transaction needs to be able to own ether to pay for the interaction, TransactionRelay enables 3rd parties to take in the fee cost by issuing tokens to registered addresses. This could be useful for applicatiosn where the developer doesn't expect the user to own ether easily to pay for the transactions to interact with a specific dapp or contract. It could also be used for controlled interactions e.g giving a use 10 free roulette spins, or accepting x free posts submissions per day for a registered user in a forum.
  • Previously a blocker for some altcoins to migrate to ethereum as tokens was that their transactions would need to be paid in Ether. TransactionRelay enables their transactions to be paid 'natively'.

Limitations

Since the relayer is the one doing the transaction, then the contract will see msg.sender as the address of the relayer not the issuer. It's possible to put a signature in the transaction itself but a contract would need to know how to deal with this. Another alternative is to deploy a proxy contract A that has permissions to interact with another contract B. contract A can verify the signature and then interact with contract B.

To do next

  • Improve the signature process to prevent some potential attack vectors
  • Implement a market mechanism of the tokens<->ether rate