Giter VIP home page Giter VIP logo

aviannetwork / avian Goto Github PK

View Code? Open in Web Editor NEW
54.0 54.0 25.0 477.14 MB

Avian Network is a proof-of-work secured blockchain designed for efficient and interoperable asset management.

Home Page: https://avn.network

License: MIT License

Makefile 0.62% Python 7.29% Shell 0.31% M4 0.95% C++ 35.76% C 54.18% HTML 0.11% Objective-C++ 0.03% Sage 0.17% Assembly 0.14% Dockerfile 0.01% CSS 0.43%
assets aviannetwork blockchain community cryptocurrency nfts

avian's People

Contributors

achow101 avatar alamshafil avatar blondfrogs avatar cdonnachie avatar cfox avatar cozz avatar fanquake avatar fdoving avatar gavinandresen avatar gmaxwell avatar instagibbs avatar jnewbery avatar jonasschnelli avatar jtimon avatar laanwj avatar luke-jr avatar morcos avatar non-github-bitcoin avatar paveljanik avatar petertodd avatar practicalswift avatar pstratem avatar ryanofsky avatar sdaftuar avatar sipa avatar spyder46n2 avatar thebluematt avatar theuni avatar torp-fails avatar tronblack avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

avian's Issues

Avian 4.1 release plan

This issue tracks the work that needs to be done to release Avian 4.1.
Nothing here is final and is subject to CHANGE!

Tentative deadlines

  • Deadline for pull requests: 2022-09-23

MUST HAVE (delay without these having been merged)

  • #87
    • Set main-net address (multi-sig)
    • Clean up debug log FounderPayment::FillFounderPayment -- Founder payment 0
    • Fix testnet
  • #162
  • #164
  • #168
  • #170
  • #172

COULD HAVE (non-critical for release)

Maintainer tasks for release

  • Update fixed seeds #175
  • Update checkpoints #178
  • Update copyrights
  • Write release notes #176
  • Mark v4.1 as release in source #179
  • Tag v4.1
  • Builds for v4.1
  • Update master
  • Upload binaries and sha256sum files

qt: Improve PoW cache error

When the powcache.dat file becomes corrupt due to forced shutdown, loss-of-power, or other conditions the wallet will return an error. However, it is unclear what the end-user should do to fix the problem and we should at least be more verbose in this error.

Screenshot from 2022-10-29 15-38-23

QT: QComboBox issue

When I click on certain drop boxes QComboBox it pops up large and unreadable with no text. Not sure if issue is present on Windows or macOS. Please comment if don't see or see this issue.

Running Avian 4.0.0 on Arch Linux x86_64 (GNOME on Wayland)

Screenshot from 2022-07-13 00-13-10

QT: No matching signal for peer tool buttons

When running avian-qt this always appears in the debug.log:

GUI: QMetaObject::connectSlotsByName: No matching signal for on_addPeer_clicked()
GUI: QMetaObject::connectSlotsByName: No matching signal for on_removePeer_clicked()
GUI: QMetaObject::connectSlotsByName: No matching signal for on_testPeer_clicked()

However the buttons do indeed work without issue. Further testing is required for this.

Need to include library deque

Compiling avian-4.1.0 get error in file of tests. It needs c module deque:

./autogen.sh
export BDB_PREFIX='/usr/local/db4_new/db4'
./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include"
make

  test/cuckoocache_tests.cpp: In function ‘void cuckoocache_tests::test_cache_generations()’:
  test/cuckoocache_tests.cpp:365:14: error: ‘deque’ is not a member of ‘std’
    365 |         std::deque<block_activity> last_few;
        |              ^~~~~
  test/cuckoocache_tests.cpp:11:1: note: ‘std::deque’ is defined in header ‘<deque>’; did you forget to ‘#include <deque>’?
     10 | #include <thread>
    +++ |+#include <deque>
  
vim src/test/cuckoocache_tests.cpp
  #include <deque>

make

after adding this line to start of file src/test/cuckoocache_tests.cpp
#include <deque>
and running make again, make completed successfully

Fix datadir

Datadir still points to RavenLite should be fixed in #2

Transaction too Large error

Trying to send some AVN from local wallet to Exchange. Set the correct value and fees, but a "Transaction too large" error shows, followed by an "Transaction Creation failed".
No descriptions or whatsoever to help finish the transaction.

I update wallet from 3 to 3.1 and my balance is 0 now

I mined AVN a few days ago. My balance was 18451 in wallet (3.0). Waiting for more payments from mining and the wallet at one point didn't update the network. I saw the new version of the wallet and I downloaded it.

I updated the wallet and all looks ok while updating the network. But when the wallet finished, only was the first transaction and my balance is 0. The other payments are not there and the balance not update. Worse still is at 0.

Transaction
Balance

Please help me

[feat] QT: Smaller tabs

As of right now, tabs in Avian 4.0.0 look huge for me and I believe we should make them shorter. Would like the community opinion on this matter.

Screenshot from 2022-07-13 00-13-49

Avian Wallet v3.1.0 - 17 weeks behind

I just downloaded the Avian wallet and extracted it. When I open it shows 17 weeks behind. I waited it for half an hour and it's still shows 17 weeks behind. Is it normal to be syncing that much time?

My network speed is 100Mbps and I'm located in Bulgaria (EU).

Machine specs:

  • OS: Windows 11
  • CPU: Intel Core i5-7300HQ
  • RAM: 8GB
  • Disk size: 500 GB (SSD) + 1TB HDD
  • Disk Type (HD/SDD): Both but the program is installed on the HDD with data also on HDD

ans: Avian Name System Todo List

Avian Name System (ANS) Todo List

Read about ANS here: https://github.com/AvianNetwork/aips/blob/main/aip-0004.mediawiki

  • Updated asset database for ANS support #162
  • Updated RPC method to show ANS info #162
  • New RPC methods for ANS IDs #162
  • UI changes for creating and reissuing assets with ANS data attached. #162
  • Flightplans (AFP) support #162
  • Basic support for reissuing #162
  • Timestamp-based activation #162
  • Update createrawtransaction to support ANS #162
  • Asset name checking #162
  • Fix reissue ANS assets (serialization)
  • Support for subassets/unique assets
  • In-wallet support for ANS addr
  • New serialization to decrease space used.
  • Add test suite (including benchmarks)

dnsseed: check config

Check config of dnsseeds, new wallets are slow to discover and get connected.
Do these accept connections?

2021-12-15 16:20:40 dnsseed thread start
2021-12-15 16:20:40 addcon thread start
2021-12-15 16:20:40 Loading addresses from DNS seeds (could take a while)
2021-12-15 16:20:40 opencon thread start
2021-12-15 16:20:40 init message: Done loading
2021-12-15 16:20:40 IP: x0.dnsseed.us.avn.network
2021-12-15 16:20:40 msghand thread start
2021-12-15 16:20:40 GUI: Platform customization: "other"
2021-12-15 16:20:40 GUI: PaymentServer::LoadRootCAs: Loaded  274  root certificates
2021-12-15 16:20:41 IP: 173.170.40.7:7895
2021-12-15 16:20:41 IP: 24.198.99.40:7895
2021-12-15 16:20:41 IP: 73.106.96.149:7895
2021-12-15 16:20:41 IP: 98.222.84.214:7895
2021-12-15 16:20:41 IP: 50.91.39.219:7895
2021-12-15 16:20:41 IP: 68.13.199.14:7895
2021-12-15 16:20:41 IP: 119.74.219.89:7895
2021-12-15 16:20:41 IP: x0.dnsseed.eu.avn.network
2021-12-15 16:20:41 IP: 179.34.163.57:7895
2021-12-15 16:20:41 IP: 70.172.200.246:7895
2021-12-15 16:20:41 IP: 73.137.75.128:7895
2021-12-15 16:20:41 IP: 76.29.130.1:7895
2021-12-15 16:20:41 IP: 178.140.2.100:7895
2021-12-15 16:20:41 IP: 85.167.120.163:7895
2021-12-15 16:20:41 IP: 176.181.92.164:7895
2021-12-15 16:20:41 IP: 89.79.206.5:7895
2021-12-15 16:20:41 IP: 217.80.110.162:7895
2021-12-15 16:20:41 IP: x0.159.65.178.148:7895
2021-12-15 16:20:41 IP: x0.144.91.77.184:7895
2021-12-15 16:20:41 IP: x0.51.89.166.31:7895
2021-12-15 16:20:41 IP: x0.66.191.202.105:7895
2021-12-15 16:20:41 IP: x0.71.202.82.78:7895
2021-12-15 16:20:41 16 addresses found from DNS seeds
2021-12-15 16:20:41 dnsseed thread exit

remove stdout spamming

Did not investigate where it comes from.
Looks like some debug-info someone forgot to disable.

Lots of this:

image

QT: Odd-looking scrollbars

Scroll bar in UI looks odd and old, please comment if you see the same thing. If this issue is present on all platforms, we can update this design.

Running Avian 4.0.0 on Arch Linux x86_64 (GNOME on Wayland)
Screenshot from 2022-07-13 00-13-42

ans: Implement enhanced serialization to reduce blockchain space used

Right now ANS (Avian Name System) is serialized directly into ASCII hex, using valuable blockchain space. The less space used, the more scalable ANS is.

Right now to serialize ANS17f00000 will look like:

414E533137663030303030

Which is longer then the actual ID.

It is proposed to use a custom format to serialize different types of ANS IDs (which will introduce slight overhead but reduce space used).

To serialize ANS17f00000 in the new format:

17F00000

There is no need to encode the prefix since we know it will be ANS data and therefore we only need the type hex and IPv4 in hex.

Old format for ANS0RXBurnXXXXXXXXXXXXXXXXXXXXXXWUo9FV:

414E533052584275726E5858585858585858585858585858585858585858585857556F394656

New format for ANS0RXBurnXXXXXXXXXXXXXXXXXXXXXXWUo9FV:

03cf05325e90d5211def86b856c9569e5480820129092d35be8

For serializing, use the raw hex of the Base58 string.

It is important that encoding/decoding these ANS IDs are fast and safe.

Documentation - build unix - Berkeley DB section is obsolete and buggy - It needs to be updated

Hello,

I was trying to build the project on my Raspberry Pi 4 8 GB running GNU/Linux Debian 11 with kernel 5.10.0-9-arm64 and i would like to point out that the following section in the documentation is obsolete and buggy - https://github.com/AvianNetwork/Avian/blob/master/doc/build-unix.md#berkeley-db - The method described here will not work, it is necessary to update the config.guess and config.sub files, otherwise it will not work on modern computer configuration/architecture. The OG bitcoin actually provides a very good script which allows to install BekerleyDB 4.8 on recent architecture - https://raw.githubusercontent.com/bitcoin/bitcoin/master/contrib/install_db4.sh - You guys might want to have a look:

# The packaged config.guess and config.sub are ancient (2009) and can cause build issues.
# Replace them with modern versions.
# See https://github.com/bitcoin/bitcoin/issues/16064
CONFIG_GUESS_URL='https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=4550d2f15b3a7ce2451c1f29500b9339430c877f'
CONFIG_GUESS_HASH='c8f530e01840719871748a8071113435bdfdf75b74c57e78e47898edea8754ae'
CONFIG_SUB_URL='https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=4550d2f15b3a7ce2451c1f29500b9339430c877f'
CONFIG_SUB_HASH='3969f7d5f6967ccc6f792401b8ef3916a1d1b1d0f0de5a4e354c95addb8b800e'

rm -f "dist/config.guess"
rm -f "dist/config.sub"

http_get "${CONFIG_GUESS_URL}" dist/config.guess "${CONFIG_GUESS_HASH}"
http_get "${CONFIG_SUB_URL}" dist/config.sub "${CONFIG_SUB_HASH}"

Here, i managed to install AVIAN on my Raspberry Pi 4 8GB

wget https://github.com/AvianNetwork/Avian/archive/refs/tags/v3.1.0.tar.gz
tar -xvf v3.1.0.tar.gz
cd Avian-3.1.0/

Installation of BekerleyDB 4.8 using the script from bitcoin:

cd depends/
wget https://raw.githubusercontent.com/bitcoin/bitcoin/master/contrib/install_db4.sh
chmod +x install_db4.sh
cd ../

One of the nice benefits of this script, is the suggestions made at the end of its execution:

./depends/install_db4.sh `pwd`
db4 build complete.

When compiling bitcoind, run `./configure` in the following way:

  export BDB_PREFIX='/home/ceedii/Avian-3.1.0/db4'
  ./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include" ...

As you can see, the script provides a way to link the newly compiled BerkeleyDB4.8 with the configure file. So, let's proceed:

./autogen.sh
export BDB_PREFIX='/home/ceedii/Avian-3.1.0/db4'

We are lucky here, despite the differences between your project and bitcoin, the following command succeeded ./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include" --enable-hardening --disable-upnp-default and the locally built BerkeleyDB4.8 is successfully integrated:

configure: running /bin/bash ./configure --disable-option-checking '--prefix=/usr/local'  'BDB_LIBS=-L/home/ceedii/Avian-3.1.0/db4/lib -ldb_cxx-4.8' 'BDB_CFLAGS=-I/home/ceedii/Avian-3.1.0/db4/include' '--enable-hardening' '--disable-upnp-default' '--disable-shared' '--with-pic' '--with-bignum=no' '--enable-module-recovery' '--disable-jni' --cache-file=/dev/null --srcdir=.
Options used to compile and link:
  build avian-cli = yes
  build avian-tx  = no
  with wallet     = yes
  with gui / qt   = yes
    qt version    = 5
    with qr       = yes
  with zmq        = yes
  with test       = yes
  with bench      = yes
  with upnp       = yes
  use asm         = yes
  debug enabled   = no
  werror          = no

  target os       = linux
  build os        = 

  CC              = gcc
  CFLAGS          = -g -O2
  CPPFLAGS        =  -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -fPIC
  CXX             = g++ -std=c++11
  CXXFLAGS        = -g -O2 -Wall -Wextra -Wformat -Wvla -Wformat-security -Wno-unused-parameter -Wno-implicit-fallthrough -fPIC
  LDFLAGS         = 
  ARFLAGS         = cr

Let's finish the build and installation:

make -j 4

Finally, with root privileges:

make install

Et voilà, we are done :)

AVN 4.0 Tracker

  • Fork Bitcoin v22.0
  • Add basic Avian rebranding
  • Add Avian icons
  • Add Avian chainparams.cpp + pow.cpp
  • Add dual algo (Crow minix+x16rt)
  • Port functions and calls in Bitcoin key-io.cpp to base58.cpp (CRavenAddress/Secret)
  • Add RVN assets
  • Fix support with Bitcoin new wallet system
  • Test if blockchain is readable and able to connect to peers
  • Add new UI

Cross compile for x86_64-win fails to compile without "--disable-shared"

x86_64-win with PoW cache from #168 will not build unless --disable-shared is passed to the configure script. This is the error:

/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-block.o:block.cpp:(.text+0x1576): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text+0xa34): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text+0xe2a): undefined reference to `ArgsManager::GetArg(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long long) const'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text+0xeb0): undefined reference to `ArgsManager::GetArg(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long long) const'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text+0x131b): undefined reference to `GetDataDir(bool)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_Z5errorIJA5_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbPKcDpRKT_[_Z5errorIJA5_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbPKcDpRKT_]+0x3f1): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_Z5errorIJA5_cPKcEEbS2_DpRKT_[_Z5errorIJA5_cPKcEEbS2_DpRKT_]+0x3f1): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_Z5errorIJA5_cEEbPKcDpRKT_[_Z5errorIJA5_cEEbPKcDpRKT_]+0x107): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_Z5errorIJA6_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbPKcDpRKT_[_Z5errorIJA6_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbPKcDpRKT_]+0x3f1): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_Z5errorIJA6_cPKcEEbS2_DpRKT_[_Z5errorIJA6_cPKcEEbS2_DpRKT_]+0x3f1): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE5WriteERKS0_[_ZN7CFlatDBI9CPowCacheE5WriteERKS0_]+0x33): undefined reference to `GetTimeMillis()'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE5WriteERKS0_[_ZN7CFlatDBI9CPowCacheE5WriteERKS0_]+0x86): undefined reference to `Params()'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE5WriteERKS0_[_ZN7CFlatDBI9CPowCacheE5WriteERKS0_]+0x247): undefined reference to `GetTimeMillis()'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE5WriteERKS0_[_ZN7CFlatDBI9CPowCacheE5WriteERKS0_]+0x30b): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE5WriteERKS0_[_ZN7CFlatDBI9CPowCacheE5WriteERKS0_]+0x478): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE5WriteERKS0_[_ZN7CFlatDBI9CPowCacheE5WriteERKS0_]+0x7a0): undefined reference to `GetTimeMillis()'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4ReadERS0_b[_ZN7CFlatDBI9CPowCacheE4ReadERS0_b]+0x31): undefined reference to `GetTimeMillis()'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4ReadERS0_b[_ZN7CFlatDBI9CPowCacheE4ReadERS0_b]+0x569): undefined reference to `Params()'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4ReadERS0_b[_ZN7CFlatDBI9CPowCacheE4ReadERS0_b]+0x5b3): undefined reference to `GetTimeMillis()'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4ReadERS0_b[_ZN7CFlatDBI9CPowCacheE4ReadERS0_b]+0x685): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4ReadERS0_b[_ZN7CFlatDBI9CPowCacheE4ReadERS0_b]+0x793): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4ReadERS0_b[_ZN7CFlatDBI9CPowCacheE4ReadERS0_b]+0x885): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4ReadERS0_b[_ZN7CFlatDBI9CPowCacheE4ReadERS0_b]+0x986): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4ReadERS0_b[_ZN7CFlatDBI9CPowCacheE4ReadERS0_b]+0x14d3): undefined reference to `GetTimeMillis()'
make[2]: Leaving directory '/home/runner/work/Avian/Avian/src'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4DumpERS0_[_ZN7CFlatDBI9CPowCacheE4DumpERS0_]+0x36): undefined reference to `GetTimeMillis()'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4DumpERS0_[_ZN7CFlatDBI9CPowCacheE4DumpERS0_]+0x115): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4DumpERS0_[_ZN7CFlatDBI9CPowCacheE4DumpERS0_]+0x240): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4DumpERS0_[_ZN7CFlatDBI9CPowCacheE4DumpERS0_]+0x37d): undefined reference to `GetTimeMillis()'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4DumpERS0_[_ZN7CFlatDBI9CPowCacheE4DumpERS0_]+0x438): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
make[1]: Leaving directory '/home/runner/work/Avian/Avian/src'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4DumpERS0_[_ZN7CFlatDBI9CPowCacheE4DumpERS0_]+0x52b): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4DumpERS0_[_ZN7CFlatDBI9CPowCacheE4DumpERS0_]+0x619): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4DumpERS0_[_ZN7CFlatDBI9CPowCacheE4DumpERS0_]+0x71b): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4DumpERS0_[_ZN7CFlatDBI9CPowCacheE4DumpERS0_]+0x8e3): undefined reference to `LogPrintStr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.text$_ZN7CFlatDBI9CPowCacheE4DumpERS0_[_ZN7CFlatDBI9CPowCacheE4DumpERS0_]+0x1716): undefined reference to `GetTimeMillis()'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.rdata$.refptr.logCategories[.refptr.logCategories]+0x0): undefined reference to `logCategories'
/usr/bin/x86_64-w64-mingw32-ld: primitives/.libs/libavianconsensus_la-powcache.o:powcache.cpp:(.rdata$.refptr.gArgs[.refptr.gArgs]+0x0): undefined reference to `gArgs'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:5831: libavianconsensus.la] Error 1
make[1]: *** [Makefile:15961: install-recursive] Error 1
make: *** [Makefile:753: install-recursive] Error 1

Update CI to ubuntu-22.04

GitHub actions needs to be updated to ubuntu-22.04 since ubuntu-18.04 will soon reach EOF (end-of-line) and will be deprecated by GitHub actions according to actions/runner-images#6002. (Started 8/8/20 and fully removed by 12/1/2022)

Improve CI build artifacts

Currently the CI build system on GitHub Action produces zipped binaries; however, it does not produce installer .exe for windows or .dmg file for easy macOS installation.

Bitcoin Backports

Many patches and security enhancements have been done on Bitcoin which are missing on Avian Core. This issue can be used to track the progress of backports or create new ones. If you see any important or crucial change you found in Bitcoin, please state them here and it will be added.

  • PR#16572: Fix a Char variable used as Bool.

QT: Unable to parse styles for QToolbar

When running avian-qt this always appears in the debug.log:

GUI: Could not parse stylesheet of object QToolBar(0x564910de90a0)
GUI: Could not parse stylesheet of object QToolBar(0x564910de90a0)

The stylesheet for QToolBar is defined below (light and dark):

/* QToolBar / QToolButton */
QToolBar {
background-color: transparent;
border-bottom: 1px solid #2E2E2E;
padding: 1px;
font-weight: bold;
spacing: 2px;
font: 12pt 'Manrope';
}
QToolBar > QToolButton {
border: none;
min-height: 2em;
min-width: 2em;
padding: 1px;
text-align: center;
}
QToolBar::separator:horizontal {
width: 5px;
margin-top: 2px;
margin-bottom: 2px;
image:url(':/images/toolbar_separator_horizontal');
}
QToolBar::separator:vertical {
height: 5px;
margin-left: 2px;
margin-right: 2px;
image:url(':/images/toolbar_separator_vertical');
}
QToolButton#qt_toolbar_ext_button {
min-width: -1px;
min-height: -1px;
qproperty-icon: url(':/icons/ext_add_light');
background-color: #2b737f;
}
QToolButton#qt_toolbar_ext_button:hover,
QToolButton#qt_toolbar_ext_button:checked {
min-width: -1px;
min-height: -1px;
qproperty-icon: url(':/icons/ext_add_light');
background-color: #18a7b7;
}

Use correct BIP44 cointype for Avian mainnet (nExtCoinType)

We need to use a proper BIP44 cointype for Avian mainnet nExtCoinType. As of right now, the coin type is set to 175 which is assigned to Ravencoin. We need to assign a unused BIP44 cointype for Avian.

It is crucial that BIP44 HD wallets created by 4.x are still supported after the cointype is changed. The cointype is used in generating HD wallets (Denoted by HD 44 logo in the core wallet) Testing pre-wallet and post-wallet is important for this issue.

Using a proper cointype is needed for hardware wallets to properly distinguish and many other HD-related privacy.

Slow wallet loading times

The Avian Core wallet has become more slow as the chain grows and the root cause needs to be determined. The wallet stalls at Loading block index... which shows the wallet takes time reading the blocks. Although using a SSD can speed this up, core wallets such as Bitcoin load faster (still takes ~10 min but Bitcoin has much much bigger chain). We can backport any changes Bitcoin made to address this.

It would be helpful if anyone happens to know anything regrading this matter. Thanks :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.