Return-Path: Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by lists.linuxfoundation.org (Postfix) with ESMTP id 9FFE4C016F for ; Wed, 27 May 2020 18:52:17 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 8C5FC20532 for ; Wed, 27 May 2020 18:52:17 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e4Rhv7vkJxFr for ; Wed, 27 May 2020 18:52:16 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-qt1-f174.google.com (mail-qt1-f174.google.com [209.85.160.174]) by silver.osuosl.org (Postfix) with ESMTPS id 3210920525 for ; Wed, 27 May 2020 18:52:16 +0000 (UTC) Received: by mail-qt1-f174.google.com with SMTP id i68so20122460qtb.5 for ; Wed, 27 May 2020 11:52:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=Z4NAueB/k88rfr4NQP3Oyc19Hxn82dQZjf9g+JTOKec=; b=X9k5nuik/BC4cIvq7GI8RxuTYaN++BDwrKHOVC/b96jrpb1nu+H/v796zF+bcuBayl 9NCfI9iI7ialtmRkcgxhAbZ8j26y2qsCSTxGjmtxYeN6+FEQPrEdTN/DzC6qA9eE5Vce rKjSDhlIorGbNc+d8TXJ5ey3d1Q7Lf6WEcJ/rEt+U+HhOXzoHmEQSWBWISo+6AyqEIGI LxOkV16Jsy7mMGHMNDLjZ4x+2x3wwDGjvTddsIkAAjh8OYOjeeuKrfPoxhAAjqzeqGjH mdL7L9ecDkTqXuEg6/zI489V6R1QpvRlQQAGJKQxx3cHwKWTJod1TQR5nI7U9Jnp8U46 ZVbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Z4NAueB/k88rfr4NQP3Oyc19Hxn82dQZjf9g+JTOKec=; b=SjbfFKgypbVdjnl5Zn6HVxuQLAEATP6+IcqlZOdiT228rcT3HRYO9vVhOSFCgTyA+Q ea+hhVE5Y5P6Yjp1se4rd775lNa9Th1Do+q1i+Ozv5Z3bKCPf5WU+JW+Zv4fmRO5/cCr QFwILUHgF3W0u7oqK3rr5o99rn4nV3r9qiNp+6YQpYv0qMkoOuDpdjQVqcKycZ+xh56m 5gm1yIwGqUv0B/Ej8uf+jV9+Yis222iZ28W8IggZGw9QoYax1BTbi570DYWNDUd+FWcS N65j48Kztv0p42euTgPkSfjwi84K2Lw/DN7Tm+J2mnqlICPXoXOPjWOIF2CQfBfYxamo F2HA== X-Gm-Message-State: AOAM530or8OAgkgHjQFtlTNt+Xlg6K8vYAOE7Ri2QfSp4WAgcZoEqMhd qIhD/jAZ9YfeeTOqL+3Ppt/3iviGS7cCwDteNSpYlAOd X-Google-Smtp-Source: ABdhPJyrmV42FYRJuKKAj0Oks6oBm8DuRpIbjQpYbkiapWT1179E/l7+jQJ9/RRAgK0/8AfbE2/LwIhkJfQpMfQyrtk= X-Received: by 2002:aed:2341:: with SMTP id i1mr5893753qtc.358.1590605534843; Wed, 27 May 2020 11:52:14 -0700 (PDT) MIME-Version: 1.0 From: Jameson Lopp Date: Wed, 27 May 2020 14:52:03 -0400 Message-ID: To: Bitcoin Dev Content-Type: multipart/alternative; boundary="000000000000e1db7705a6a5b5e4" Subject: [bitcoin-dev] Transaction size & weight calculation tooling X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 May 2020 18:52:17 -0000 --000000000000e1db7705a6a5b5e4 Content-Type: text/plain; charset="UTF-8" Hi all, Anyone who has built a Bitcoin wallet / service has to deal with a variety of challenges when it comes to transaction construction. One of these challenges is around determining an appropriate fee; aside from block space market volatility and the inherent problems of forecasting the future, you need to know how much block space for which your transaction needs to "bid." Every time I've run into the problem of calculating the size of a transaction with specific attributes I've ended up having to sift through answers scatter across stack overflow posts, so I finally got around to building a user friendly tool at https://jlopp.github.io/bitcoin-transaction-size-calculator/ As I was looking for more data on constants to use in the calculation I was informed that the folks at Bitcoin Optech have also been working on a calculator: https://bitcoinops.org/en/tools/calc-size It seems clear that this is a common problem for which we could use better tooling. I'm also about 99% certain that there's at least 1 or 2 bugs in my current calculator code. Please bookmark and share these tools; if you're capable and so inclined, code reviews would be greatly appreciated! - Jameson --000000000000e1db7705a6a5b5e4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi all,

Anyone who has built a Bitcoin = wallet / service has to deal with a variety of challenges when it comes to = transaction construction. One of these challenges is around determining an = appropriate fee; aside from block space market volatility and the inherent = problems of forecasting the future, you need to know how much block space f= or which your transaction needs to "bid."

Every time I've run into the problem of calculating the size of a tra= nsaction with specific attributes I've ended up having to sift through = answers scatter across stack overflow posts, so I finally got around to bui= lding a user friendly tool at=C2=A0https://jlopp.github.io/bitcoin-transactio= n-size-calculator/

As I was looking for more d= ata on constants to use in the calculation I was informed that the folks at= Bitcoin Optech have also been working on a calculator:=C2=A0https://bitcoinops.org/en/tools/cal= c-size

It seems clear that this is a common pr= oblem for which we could use better tooling. I'm also about 99% certain= that there's at least 1 or 2 bugs in my current calculator code.
=

Please bookmark and share these tools; if you're ca= pable and so inclined, code reviews would be greatly appreciated!

- Jameson
--000000000000e1db7705a6a5b5e4--